Доступ до OpenWrt через SSH для новачків
Один зі способів керування OpenWrt — використання інтерфейсу командного рядка через SSH.
OpenWrt за замовчуванням приймає SSH-підключення на порту 22/tcp.
Щоб підключитися до маршрутизатора через SSH, введіть у терміналі наступну команду, замінивши IP-адресу на адресу вашого роутера (зазвичай — 192.168.1.1):
ssh root@192.168.1.1
При першому підключенні ви, ймовірно, побачите попередження про RSA-ключ.
Якщо ви впевнені, що це адреса вашого пристрою OpenWrt, введіть yes і натисніть Enter.
Далі введіть пароль, встановлений для роутера, або просто натисніть Enter, якщо пароль ще не заданий.
Приклад сесії:
$ ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is SHA256:4VbDA/MOc7inPiyllF5f0r3Q6iEx89ddKdhLGBovsiY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
root@192.168.1.1's password:
BusyBox v1.28.4 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 18.06.2, r7676-cddd7b4c77
-----------------------------------------------------
root@OpenWrt:~#
*Примітка: пароль під час введення, ймовірно, не буде відображатися на екрані — це нормально.*
Щоб вийти з SSH-сесії, введіть `exit` і натисніть Enter.
Наступні розділи описують емулятори терміналу для Windows, Linux, macOS та ChromeOS для доступу до OpenWrt.
*Додати SSH-публічний ключ до OpenWrt можна через LuCI Web Interface*
Емулятори терміналу для Windows
Вбудовані термінали Windows 10/11
Ви можете використовувати Windows Terminal, PowerShell або Командний рядок. SSH вже вбудовано в сучасні версії Windows.
- Відкрийте будь-який з терміналів і введіть `ssh root@192.168.1.1`
- При першому підключенні потрібно буде підтвердити ключ — введіть yes
- Якщо після перевстановлення OpenWrt з’явиться помилка про зміну ключа, виконайте команду, яку підкаже помилка (або видаліть файл `C:\Users\ваш_користувач\.ssh\known_hosts`)
- Для виходу з сесії — `exit`
Для копіювання/передачі файлів можна скористатися SCP або WinSCP.
PowerShell
PowerShell також підтримує SSH.
Windows Subsystem for Linux (WSL)
WSL — спосіб запуску Linux-середовища у Windows. У більшості дистрибутивів SSH вже встановлено. Інструкції див. у розділі термінали Linux.
PuTTY
PuTTY — популярна SSH-програма для Windows.
- Завантажити з https://www.putty.org/
- У полі *Host Name (or IP address)* введіть IP (наприклад: 192.168.1.1)
- Натисніть Open, введіть ім’я користувача root і пароль
Налаштування ключів:
- Згенеруйте ключ через `puttygen.exe`, публічний ключ збережіть у `/etc/dropbear/authorized_keys` на OpenWrt
- У PuTTY → Connection → SSH → Auth → вкажіть шлях до приватного ключа
WinSCP
WinSCP — зручний графічний SCP-клієнт.
- Увімкніть протокол scp, введіть IP, користувача root, і пароль
- Натисніть Login — відкриється файловий менеджер
- Файли можна редагувати прямо з інтерфейсу — ПКМ → Edit
Cmder
Cmder — зручний Unix-подібний термінал.
- Завантажити, розпакувати, запустити Cmder
- Ввести `ssh root@192.168.1.1`
SmarTTY
SmarTTY — SSH-клієнт з можливістю перегляду/редагування/передачі файлів.
- Завантажити інсталятор або portable версію
- Підключитися за IP, користувачем root, пароль (якщо заданий)
- Щоб працював файловий менеджер — після підключення виконайте:
opkg update && opkg install openssh-sftp-server
Емулятори терміналу для Linux
Більшість дистрибутивів мають SSH-клієнт за замовчуванням:
- Відкрийте термінал і введіть `ssh root@192.168.1.1`
- Якщо ключ змінено, з’явиться повідомлення з командою для видалення старого
Midnight Commander
Midnight Commander (mc) — файловий менеджер.
- Натисніть F9 → Left → Shell link
- Введіть `root@192.168.1.1/` → OK
Використовує FISH-протокол, тому SFTP не потрібен.
Емулятори терміналу для macOS
macOS має SSH-клієнт у вбудованому Terminal (/Applications/Utilities). Або встановіть iTerm2 — покращений термінал.
- Відкрийте термінал
- Введіть `ssh root@192.168.1.1` і натисніть Return
ChromeOS
На ChromeOS встановіть додаток Secure Shell для SSH-доступу.