Конфігурація SSH здійснюється через підсистему Dropbear у `uci`, а файл конфігурації знаходиться за шляхом `/etc/config/dropbear`.
Кожен екземпляр SSH-сервера Dropbear описується окремою секцією у конфігураційному файлі. Можна створювати кілька екземплярів.
Конфігурація `dropbear` містить параметри для SSH-сервера Dropbear в одній секції.
Секція `dropbear` містить наступні параметри. Назви чутливі до регістру.
| Назва | Тип | Обов’язково | Типове значення | Опис |
|---|---|---|---|---|
| `enable` | boolean | ні | 1 | Встановіть `0`, щоб вимкнути запуск Dropbear під час завантаження системи. |
| `verbose` | boolean | ні | 0 | Встановіть `1`, щоб увімкнути докладний вивід у скрипті запуску. |
| `BannerFile` | string | ні | (немає) | Шлях до файлу, вміст якого буде показано до автентифікації користувача. |
| `PasswordAuth` | boolean | ні | 1 | Встановіть `0`, щоб вимкнути автентифікацію за паролем. |
| `Port` | integer | ні | 22 | Номер порту, на якому Dropbear буде слухати з’єднання. |
| `RootPasswordAuth` | boolean | ні | 1 | Встановіть `0`, щоб вимкнути автентифікацію root-користувача за паролем. |
| `RootLogin` | boolean | ні | 1 | Встановіть `0`, щоб заборонити SSH-вхід під root-користувачем. |
| `GatewayPorts` | boolean | ні | 0 | Встановіть `1`, щоб дозволити зовнішнім хостам підключатися до переспрямованих портів. |
| `Interface` | string | ні | (немає) | Вкажіть назву інтерфейсу, наприклад `lan`. Цей параметр дозволяє обмежити з’єднання лише з клієнтів, які можуть досягти IP цієї мережі. Наприклад, IP-адреса LAN буде доступна лише клієнтам у локальній мережі, але не з WAN при типовій конфігурації файрволу. Використовується у параметрі `-p` Dropbear: “Слухати на заданій адресі та TCP-порті. Якщо задано лише порт — слухати на всіх адресах. Можна вказати до 10 значень (типово 22).” |
| `keyfile` | список файлів | ні | (немає) | Шлях до файлу з ключем хоста. |
| `rsakeyfile` | файл | ні | (немає) | Шлях до RSA-ключа хоста. Застаріло. Див. `keyfile`. |
| `SSHKeepAlive` | integer | ні | 300 | Інтервал у секундах для надсилання keep-alive трафіку. Корисно, щоб уникнути обриву з’єднання маршрутизатором або фаєрволом під час бездіяльності. При 3 невдалих keep-alive з’єднання буде розірване. Значення 0 вимикає цю функцію. Еквівалент OpenSSH `ClientAliveInterval`. |
| `IdleTimeout` | integer | ні | 0 | Розірвати з’єднання, якщо не було трафіку протягом заданого часу, навіть із keep-alive активним. Еквівалент OpenSSH `ClientAliveInterval`, помножений на `ClientAliveCountMax`. |
| `mdns` | integer | ні | 1 | Оголошувати службу через mDNS. |
| `MaxAuthTries` | integer | ні | 3 | Кількість спроб введення пароля перед закриттям з’єднання. |
| `RecvWindowSize` | integer | ні | 24576 | Розмір буфера прийому для кожного каналу. Збільшення може покращити продуктивність, але потребує більше пам’яті. |
Типова конфігурація виглядає так:
# uci show dropbear dropbear.@dropbear[0]=dropbear dropbear.@dropbear[0].RootPasswordAuth='1' dropbear.@dropbear[0].PasswordAuth='1' dropbear.@dropbear[0].Port='22'
Додати другий екземпляр Dropbear, що слухає порт 2022:
uci add dropbear dropbear uci set dropbear.@dropbear[-1].RootPasswordAuth='1' uci set dropbear.@dropbear[-1].PasswordAuth='0' uci set dropbear.@dropbear[-1].Port="2022" uci commit dropbear service dropbear restart
Якщо ви хочете підключатися з Інтернету, дозвольте порт 2022 на інтерфейсі WAN.
Dropbear не підтримує SFTP.
OpenSSH-клієнт за замовчуванням використовує SFTP починаючи з версії 9.0.
Використовуйте `scp -O` для старішого SCP-протоколу, якщо потрібно.
Якщо у вас є достатньо вільного місця, можна встановити SFTP-сервер:
opkg update
opkg install openssh-sftp-server
Проблеми, що виникають при відкритому SSH-доступі: