Удаленный доступ через SSH к командной строке Keenetic

Начиная с версии операционной системы Keenetic OS 2.12 был добавлен сервер SSH (Secure Shell — безопасная оболочка), с помощью которого можно безопасно подключаться к командной строке интернет-центра. Рассмотрим далее настройку интернет-центра для осуществления удаленного подключения к его интерфейсу командной строки (CLI).

Для работы сервера SSH нужно в интернет-центре предварительно установить компонент системы "Сервер SSH". Сделать это можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав на "Изменить набор компонентов".

ssh01.png

После установки компонента сервер SSH будет включен автоматически. Доступ к нему разрешен в локальных интерфейсах с уровнем безопасности private. Информацию об уровнях доступа, которые определяют уровень безопасности (логику работы сетевого экрана), вы найдете в статье: "Настройка правил межсетевого экрана из командного интерфейса".

Чтобы разрешить доступ из внешних сетей, нужно серверу SSH установить публичный уровень безопасности, выполнив в интерфейсе командной строки интернет-центра команды:

(config)> ip ssh
Core::Configurator: Done.
(config-ssh)> security-level public
Ssh::Manager: Security level changed to public.


Чтобы избежать нежелательных попыток взлома со стороны ботов, случайных Black/Grey Hat хакеров, а также для случаев когда на стандартном порту уже работает SSH-сервер в OPKG-подсистеме, рекомендуется сменить стандартный порт сервера. Порт, на котором работает сервер, по умолчанию стандартный - с номером 22. Его можно поменять на один из неиспользуемых номеров (например, на 2022):

(config-ssh)> port 2022
Ssh::Manager: Port changed to 2022.


Теперь пользователи, имеющие право доступа к командной строке Keenetic, смогут обратиться из SSH-клиента на внешний IP-адрес интернет-центра по порту 2022 и получить доступ к его командной строке в зашифрованном безопасном канале.

Для сохранения настройки нужно выполнить команду:

(config)> system configuration save
Core::ConfigurationSaver: Saving configuration...


Подключение к серверу SSH

Для подключения к Keenetic по протоколу SSH можно воспользоваться любой терминальной программой с поддержкой данного типа подключений. Например, бесплатным клиентом PuTTY.

Скачайте, установите и запустите на компьютере терминальный клиент PuTTY. В поле "Connection type" (Тип соединения) укажите тип подключения "SSH". Введите в поле "Host Name or IP address" (Имя хоста или IP-адрес) сетевое имя или IP-адрес устройства (локальный IP при подключении из доманей сети или публичный "белый" WAN IP при подключении из Интернета), а в поле "Port" (Порт) – номер порта, по которому будет осуществляться подключение (по умолчанию протокол SSH использует порт 22, в нашем примере используется порт 2022).

putty01.png

После нажатия кнопки "Open" (Соединиться) появится запрос логина и пароля для авторизации на устройстве. Введите данные учетной записи администратора. После успешного ввода логина и пароля администратора появится приглашение командной строки роутера.

putty02.png

Также легко установить SSH-подключение из дистрибутива ОС Linux. Например, для подключения клиента SSH, с именем пользователя admin, следует использовать команду:

[alexander@silverado ~]$ ssh admin@192.168.1.1 -p 2022
Warning: Permanently added '[192.168.1.1]:2022' (ECDSA) to the list of known hosts.
admin@192.168.1.1's password:
X11 forwarding request failed on channel 0
(config)>


Если ваши ключи скомпрометированы, сервер SSH может сгенерировать новые. Эта процедура происходит автоматически при установке компонента системы, но может также быть запущена по команде ip ssh keygen {keygen}, где вместо {keygen} следует указать нужный алгоритм - default например.

(config-ssh)> keygen default

Ssh::Manager: Key generation is in progress...
progress, name = SSH key generation: 0
....
progress, name = SSH key generation: 50
progress, name = SSH key generation: 100


Если вы сменили ключи на сервере, то на клиенте, который их запомнил автоматически, следует выполнить очистку. В Linux-дистрибутивах для этого можно использовать приложение ssh-keygen с ключем -R (важен регистр, поскольку ключ -r служит для печати на экран хэш-значений запомненных ключей):

[alexander@silverado ~]$ ssh-keygen -R '[192.168.1.1]:2022'
# Host [192.168.1.1]:2022 found: line 1
/home/alexander/.ssh/known_hosts updated.
Original contents retained as /home/alexander/.ssh/known_hosts.old

 

TIP: Примечание

Начиная с версии Keenetic OS 2.11, незащищенные telnet-сессии управления интернет-центром через командную строку автоматически завершаются через 3 минуты неактивности пользователя. Значением этого таймаута можно управлять, но установить бесконечную продолжительность сессии нет возможности.

Сессии SSH-подключения к командной строке Keenetic не имеют таймаута по умолчанию и могут быть неограниченными по продолжительности.

 

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 0

Еще есть вопросы? Отправить запрос

Комментарии

0 комментариев

Войдите в службу, чтобы оставить комментарий.