- Доступ SSH для новичков
- Терминальные эмуляторы Windows
- Использование Cmder
- Использование Smartty
- Использование putty
- Использование WinSCP
- Linux Terminal Emulators
- macOS Terminal Emulators
- Sysadminium
- Подключение и отключение
- Выполнение команд и скриптов
- Подключение с помощью ssh ключей
- Создание ключей на Windows
- Загрузка ключей на роутеры
- Настройка ключей
- Создание ключей на Linux
Доступ SSH для новичков
Устройство OpenWrt по умолчанию всегда прослушивает доступ к командной строке SSH на порту 22. Для ssh в маршрутизатор» вы вводите команду ssh root@192.168.1.1 в эмуляторе терминала (для маршрутизатора с адресом 192.168.1.1).
В первый раз, когда вы подключитесь к маршрутизатору, вы, вероятно, увидите предупреждение о отпечатке ключа RSA. Если вы уверены, что это адрес вашего маршрутизатора OpenWrt, просто введите yes и нажмите Return. Затем введите пароль, предоставленный вашему маршрутизатору, или нажмите Return, если это начальная настройка. Вот пример сеанса:
Чтобы завершить ssh сеанс на маршрутизаторе, введите exit и нажмите Return.
Остальная часть этой страницы описывает несколько эмуляторов терминала, которые Windows, Linux или macOS могут использовать для доступа к вашему маршрутизатору OpenWrt.
Терминальные эмуляторы Windows
Cmder, Smartty, Putty и WinSCP являются терминальными эмуляторами, которые позволяют вам сходить в маршрутизатор.
Использование Cmder
Cmder для Windows эмулятор терминала с открытым исходным кодом, который работает в Windows. Он может свободно использовать и обеспечивает легкую “оболочку командной строки” которая позволяет вам ssh в OpenWrt. Его привлекательные шрифты и цветовая схема легко видны на глазах. Полное распределение является предпочтительным (over the mini distribution), так как она обеспечивает эмуляцию Баша, с Unix-й набором команд.
Откройте папку Cmder и дважды щелкните Cmder значок. Вы увидите окно Cmder, похожее на изображение ниже.
Чтобы передать ssh в маршрутизатор OpenWrt на 192.168.1.1, введите ssh root@192.168.1.1 затем нажмите Return
Использование Smartty
Smartty дает вам доступ к командной строке для OpenWrt и позволяет вам открывать /редактировать/загружать/загружать файлы в OpenWrt и в целом более современную и удобную для пользователя, чем Putty (еще один инструмент, описанный ниже):
Загрузите Smartty из http://sysprogs.com/SmarTTY/: выберите “загрузить” для установщика или «портативную версию“, если вы хотите, чтобы это была отдельная программа, которая работает без установки.
после установки или после распаковки архива, дважды щелкните по исполняемому файлу SmarTTY.
Вы будете приветствованы окном с двумя вариантами, дважды нажмите “setup новое соединение SSH ” (другая опция предназначена для последовательных подключений, для usb- TTL -ключей и иногда вы подключаетесь к серийным выводам устройства на плате, мы выиграли Не используйте это сейчас).
Имя пользователя: root (это “администратор” и только пользователь по умолчанию OpenWrt)
Пароль: оставьте это поле пустым для вашего первого подключения, а затем напишите пароль, который вы установили (либо в графическом интерфейсе Luci, либо после первого доступа к SSH )
По умолчанию в прошивке OpenWrt отсутствует серверный компонент, позволяющий открывать /редактировать/просматривать/загружать/загружать файлы в Smartty, поэтому после того, как вы подключились к интернету, напишите, opkg update && opkg install openssh-sftp-server чтобы установить его. Если следующий шаг завершится неудачно, возможно, потребуется перезагрузить устройство OpenWrt для запуска этой новой службы.
Теперь вы можете нажать Файл → Открыть удаленный файл чтобы открыть всплывающее окно с файловой системой устройства OpenWrt, и вы можете перемещаться по нему и открывать текстовые файлы, например, как обычно (они будут открываться в окне текстового редактора SmarTTY)
Если вы хотите загрузить или загрузить файлы в/из определенной папки на устройстве, вы можете щелкнуть по меню SCP и выбрать наиболее подходящее действие оттуда.
После первого подключения к устройству Smartty сохранил профиль, поэтому вы можете снова подключиться к тому же устройству (на этом IP -адресе с этим паролем), просто дважды щелкнув значок в первом окне, которое вы видите при запуске Smartty. Вы можете щелкнуть правой кнопкой мыши по этому значку профиля, чтобы изменить его, если необходимо.
Использование putty
Putty дает вам доступ к командной строке для OpenWrt:
Загрузите Putty https://www.putty.org: просто получите 32-разрядную “putty.exe” загрузку из “Alternative binary files” раздела.
перейдите в “Session” категорию окна входа в Putty, найдите поле “Host Name” (or IP address) и просто введите IP -адрес (например, 192.168.1.1 ) вашего устройства OpenWrt, сохраните порт 22 по умолчанию.
Нажмите Open кнопку в нижней части, чтобы открыть соединение. Это вызовет окно оболочки, спрашивая login as . Войдите как root с паролем OpenWrt, который вы определили некоторое время раньше. Если вы еще не установили пароль “root”, вам не будет задан пароль.
Использование WinSCP
WinSCP позволяет просматривать файловую систему OpenWrt в Windows Exlorer, например, в стиле GUI :
Сначала вам необходимо установить SFTP -сервер со стороны OpenWrt, так как WinSCP нуждается в том, чтобы успешно соединиться. В командной строке putty (см. Предыдущий раздел) выполните:
Обычно этого не требуется, но для простоты этого способа перезагрузите ваше устройство OpenWrt, чтобы убедиться, что служба SFTP действительно запущена
Скачать WinSCP из https://winscp.net/eng/download.php, получить не-бета Installation package или portable executables установить или распаковать их на клиенте Windows ,
Нажмите New Site слева, затем введите свой IP -адрес устройства OpenWrt (192.168.1.1) с правой стороны Host name , сохраните порт по умолчанию 22 . В User name enter root, in Password , введите ваш root пароль (или оставьте пустым, если вы не установили пароль еще)
Редактирование конфигурационных файлов OpenWrt с помощью встроенного графического редактора WINSCP:
для редактирования конфигурационного файла OpenWrt с помощью редактора WinSCP с графическим интерфейсом щелкните правой кнопкой мыши файл в WinSCP и выберите “Edit” из контекстного меню.
Linux Terminal Emulators
Все дистрибутивы Linux предоставляют клиентский интерфейс ssh как часть стандартной установки.
Откройте эмулятор терминала и напишите ssh root@192.168.1.1 (“ssh» — это команда, root это пользователь OpenWrt, к которому вы подключаетесь, а 192.168.1.1 это светодиод по умолчанию OpenWrt)
появится сообщение о принятии нового ключа от устройства OpenWrt, напишите “yes” и нажмите клавишу “Ввод”.
Если по какой-то причине вы переустановили OpenWrt, у устройства будет другой ключ, и вы получите сообщение о несоответствии ключей. В этой ошибке будет указано, что является командной строкой для копирования-вставки в вашем терминале, чтобы удалить старый ключ и продолжить.
Обычно у Linux также есть клиенты SCP (для открытия/редактирования/загрузки/выгрузки файлов в OpenWrt), которые могут быть установлены или не установлены по умолчанию. Вам нужно найти документацию вашего дистрибутива или выполнить поиск с помощью интерфейса управления пакетами для “SCP”, чтобы найти, где он находится, и его текущий статус установки. Прочтите его встроенное руководство (“man scp”, например, для клиента командной строки SCP) или google некоторые учебные пособия, чтобы узнать, как его использовать.
macOS Terminal Emulators
На macOS (ранее Mac OSX) любой эмулятор терминала позволит вам ssh. Там несколько терминальных эмуляторов:
iTerm2 https://iterm2.com/ значительно улучшенная терминальная программа. Пожертвования — это того стоит.
Чтобы подключиь ssh в вашем маршрутизаторе OpenWrt на 192.168.1.1, введите ssh root@192.168.1.1 , и нажмите Return.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website. OK More information about cookies
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
Sysadminium
Я покажу как использовать встроенный SSH клиент на MikroTik. И как с помощью SSH ключей подключиться с одного MikroTik на другой.
Подключение и отключение
Для подключения из одного MikroTik к другому можно использовать протокол ssh. Делается это с помощью встроенного ssh клиента «/system ssh». Вот пример:
/system ssh user=admin address=172.21.0.12
После выполнения этой команды, у вас будет запрошен пароль от пользователя admin на удаленном роутере. И после ввода пароля вы подключитесь к нему.
Чтобы отключиться от удаленного роутера используйте команду:
Выполнение команд и скриптов
Для того чтобы подключиться к удалённому Mikrotik, выполнить команду и отключиться от него, можно использовать такую конструкцию: : /system ssh user= address= command=»». Например так:
/system ssh user=admin address=172.21.0.12 command="/system/script/ run script1"
Скрипт при этом должен находится на удалённом роутере. Или вместо скрипта можно выполнить любую команду.
При этом также потребуется вводить пароль, что не всегда удобно. А если подключаться нужно не интерактивно, то использовать пароль вообще не возможно. В этом случае используются ssh ключи.
А ещё при не интерактивном выполнении вместо /system ssh нужно использовать /system ssh-exec. Это делается например в планировщике заданий /system/scheduler вот так:
/system ssh-exec user=admin address=172.21.0.12 command="/system/script/ run script1"
Подключение с помощью ssh ключей
К сожалению RouterOS не позволяет сгенерировать ssh ключи. Так что для генерации нужно использовать другую операционную систему.
Создание ключей на Windows
Для создания SSH ключей на Windows будем использовать «PuTTY Key Generator«. Но для начала вам нужно скачать и установить приложение «PuTTY«. Скачать его можете от сюда.
После установки, запустите программу «PuTTYgen.exe» и нажмите на кнопку «Generate«:
Дальше начните перемещать мышку, чтобы сгенерировать ssh ключи.
После генерации вы увидите такое окно:
Скопируйте выделенную часть, вставьте в текстовый файл и сохраните под названием ssh.pub (или под каким-нибудь другим, но чтобы было понятно что это публичный ключ).
Для сохранения приватного ключа нажмите в верхнем меню кнопку «Conversions» и «Export OpenSSH key«:
Сохраните файл под именем ssh.private (чтобы было понятно, что это приватный ключ).
Загрузка ключей на роутеры
Теперь переходим к роутерам MikroTik. Подключаемся к ним используя WinBox. Дальше нажимаем в левом меню кнопку «File» и загружаем оба файла на роутер с которого будем подключаться:
А на роутер к которому будем подключаться нужно загрузить только публичный ключ:
Настройка ключей
Пока мы лишь загрузили файлы ключей на роутеры, но не заставили их работать. А чтобы это сделать нужно на обоих роутерах перейти в /Sustem/Users.
На том роутере с которого мы будем подключаться нужно перейти на вкладку «SSH Private Keys«. А на роутере к которому мы планируем подключаться нужно перейти на вкладку «SSH Keys«.
Вот так импортируется приватный ключ. Мы нажимаем на кнопку «Import SSH Private Key«, затем заполняем поля, и нажимаем кнопку » Import SSH Private Key» (только уже в другом окне):
Если вы перепутаете приватный ключ с публичным, то система даст вам импортировать ключи. Но при подключении по ssh вы увидите вот такую ошибку:
error: "0D078079:" lib(13):func(120):reason(121)
По аналогии импортируем бубличный ключ на роутере к которому будем подключаться:
Теперь вы сможете подключиться с одного роутера на другой по ssh без запроса пароля, используя ssh ключи. Например сможете выполнить вот такую команду:
/system ssh user=admin address=172.21.0.12 command=":log info Hello!"
На втором роутере в логах увидите такие записи:
Первая запись о подключении к нему по ssh, вторая запись сделана нашей командой, а третья об отключении.
Но запомните, что не интерактивно, то-есть в Scheduler или Watchdog лучше использовать — /system ssh-exec.
Создание ключей на Linux
Дополнительно я вам покажу как сгенерировать ssh ключи на Linux. Для этого используйте следующую команду:
# ssh-keygen -t rsa -m pem -f /root/ssh-for-mikrotik
После чего у вас появится пара ключей в каталоге /root:
# ls -l /root/ total 9 -rw------- 1 root root 1823 Nov 23 08:25 ssh-for-mikrotik -rw-r--r-- 1 root root 395 Nov 23 08:25 ssh-for-mikrotik.pub
Файл без разрешения — это приватный ключ, а файл с разрешением .pub — публичный ключ.
Загрузите их на роутеры и импортируйте ключи точно также как и ключи, которые вы делали на Windows.
Возможно Вам также будет интересна и другая статья: MikroTik. Основы написания скриптов.
Если остались вопросы, задавайте их в комментариях.
Я покажу как использовать встроенный SSH клиент на MikroTik. И как с помощью SSH ключей подключиться с одного MikroTik на другой.