Віддалений доступ до інтерфейсу командного рядка Keenetic через SSH

Сервер SSH (Secure Shell) дозволяє безпечно підключатися до командного рядка маршрутизатора. Далі налаштувємо пристрій для віддаленого підключення до його інтерфейсу командного рядка (CLI).

Щоб запустити сервер SSH, у Keenetic має бути встановлений компонент мікропрограми «SSH server». Ви можете зробити це на сторінці «Загальні налаштування системи» в розділі «Змінити набір компонентів», натиснувши «Параметри компонентів системи».

mceclip0.png

Після встановлення компонента  Сервер SSH автоматично увімкнеться. До нього можна отримати доступ через локальні інтерфейси з приватним рівнем безпеки. Інформацію про рівні доступу, що визначають рівень безпеки (логіку міжмережевого екрану), див. у статті Налаштування правил міжмережевого екрану з інтерфейсу командного рядка.

Щоб дозволити доступ із зовнішніх мереж, сервер 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, зможуть отримати доступ до зовнішньої IP-адреси пристрою на порту 2022 з клієнта SSH і отримати доступ до його командного рядка в захищеному зашифрованому каналі.

Щоб зберегти налаштування, потрібно виконати команду:

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


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

Щоб підключитися до вашого Keenetic через протокол SSH, ви можете використовувати будь-яку термінальну програму, яка підтримує цей тип підключення. Наприклад, безкоштовний клієнт PuTTY. Завантажте, встановіть та запустіть клієнт терміналу PuTTY на своєму комп’ютері. Вкажіть тип підключення «SSH» у полі «Тип підключення». Введіть у поле «Ім'я хосту або IP-адреса» назву мережі або IP-адресу пристрою (локальний IP при підключенні з домашньої мережі або публічний WAN IP при підключенні з Інтернету), а в полі «Порт» — номер порту, за яким буде встановлено з'єднання (за замовчуванням протокол SSH використовує порт 22, у нашому прикладі використовується порт 2022).

putty01.png

Після натискання кнопки «Відкрити» вам буде запропоновано ввести логін та пароль для автентифікації на пристрої. Введіть облікові дані адміністратора. Після успішного введення логіна та пароля адміністратора з'явиться командний рядок маршрутизатора.

putty02.png

Також легко встановити з’єднання SSH з Linux. Наприклад, щоб підключити клієнта SSH з іменем користувача адміністратора, слід використовувати команду:

[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} ви повинні вказати необхідний алгоритм — наприклад, за замовчуванням.

(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: Примітка
Починаючи з KeeneticOS 2.11, незахищені сеанси керування маршрутизатором через telnet через командний рядок автоматично припиняються через 3 хвилини бездіяльності користувача. Цим значенням тайм-ауту можна керувати, але неможливо встановити нескінченну тривалість сеансу.

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

Чи була ця стаття корисною?

65 з 86 вважають статтю корисною