Skip to main content

Руководство пользователя

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

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

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

ssh-remote-access-01-en.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" (Тип соединения) укажите тип подключения "SSSHSH". Введите в поле "Host Name or IP address" (Имя хоста или IP-адрес) сетевое имя или IP-адрес устройства (локальный IP при подключении из домашней сети или публичный "белый" WAN IP при подключении из Интернета), а в поле "Port" (Порт) – номер порта, по которому будет осуществляться подключение (по умолчанию протокол SSH использует порт 22, в нашем примере используется порт 2022).

ssh-remote-access-02-en.png

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

ssh-remote-access-03-en.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

Примечание

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

Для сессии SSH-подключения по умолчанию установлен таймаут 300 секунд (5 минут). При необходимости это значение можно увеличить. Данный параметр может принимать значение до 232-1 секунд включительно.