SFTP-сервер на роутере Keenetic
В интернет-центре Keenetic, с возможностью использования USB-накопителя, можно включить встроенный SFTP-сервер и организовать безопасный удаленный доступ к файлам USB-диска по протоколу SFTP (SSH File Transfer Protocol, также его называют Secure FTP и SSH FTP). Доступ к серверу будет возможен как из локальной сети, так и из Интернета.
SFTP-сервер был добавлен в KeeneticOS начиная с версии 3.4.1.
SFTP — протокол прикладного уровня, предназначенный для выполнения операций с файлами поверх надежного и безопасного SSH-соединения. SFTP не имеет никакого отношения к обычному FTP-протоколу. Он обеспечивает лучшую безопасность передачи данных через Интернет, за счет реализации полностью зашифрованного транспортного уровня. SFTP является самостоятельным протоколом и его не следует путать с FTPS (FTP + SSL), Simple File Transfer Protocol (имеет такую же аббревиатуру SFTP) и FTP через SSH.
1. Прямое подключение к SFTP-серверу из Интернета будет возможно только при наличии публичного «белого» IP-адреса на WAN-интерфейсе роутера Keenetic, через который осуществляется выход в Интернет.
2. При наличии частного «серого» IP-адреса доступ к SFTP-серверу возможен через подключение VPN SSTP.
3. Для более удобного использования рекомендуем получить для интернет-центра Keenetic постоянное и простое для запоминания доменное имя с помощью сервиса KeenDNS. При включении KeenDNS соединение с SFTP-сервером будет возможно при использовании режима работы «Прямой доступ». В режиме «Через облако» доступ к SFTP-серверу возможен через SSTP-подключение.
4. Некоторые интернет-провайдеры осуществляют фильтрацию входящего трафика пользователей по стандартным протоколам и портам. Например, фильтрацию по 21 (FTP), 22 (SSH), 23 (Telnet), 25 (SMTP), 1723 (PPTP) и другим портам. В связи с этим необходимо точно знать, что порт, по которому работает SFTP-сервер, не блокируется провайдером.
5. Для работы SFTP-сервера в интернет-центре Keenetic установите компоненты системы «Сервер SSH» и «SFTP-сервер». Сделать это можно на странице «Общие настройки» в разделе «Обновления и компоненты», нажав на «Изменить набор компонентов».
Установив компоненты «Сервер SSH» и «SFTP-сервер», перейдите в веб-конфигураторе роутера на страницу «Приложения», найдите раздел «Личное облако» и нажмите на заголовок.
В появившемся окне в разделе «Настройки SFTP» представлены основные настройки сервера и параметры управления пользователями.
Если хотите открыть доступ к SFTP-серверу с внешнего интерфейса, включите опцию «Разрешить доступ из Интернета». Вы увидите сообщение: «Внимание! Вместе с доступом из Интернета к SFTP будет разрешено удаленное управление по SSH». Нажмите «Подтвердить».
В поле «Порт SSH» указан номер порта, который использует встроенный SSH-сервер. По умолчанию сервер использует для подключения стандартный TCP-порт с номером 22. При необходимости, вы можете изменить номер порта (например, использовать 2022). Мы рекомендуем это сделать для повышения безопасности, т.к. стандартные порты часто подвержены атакам в Интернете.
При включении опции «Анонимный доступ» подключение к SFTP-серверу будет доступно для всех пользователей без авторизации. Мы рекомендуем не использовать анонимный доступ, а настроить права доступа к SFTP-серверу с помощью авторизации (в этом случае при подключении к SFTP-серверу пользователь должен будет ввести имя пользователя и пароль).
В подразделе «Пользователи и доступ» отметьте учетные записи, доступ для которых будет разрешен при подключении к SFTP-серверу. Здесь вы можете добавить новые учетные записи, нажав кнопку «Добавить пользователя».
Включите опцию SFTP для пользователя, которому вы хотите разрешить удаленный доступ по указанному протоколу. Затем нажмите кнопку «Выбрать каталог» и укажите определенную папку на USB-диске. Например, можно для каждой учетной записи определить персональную папку. Вы можете настроить права доступа пользователя на чтение и запись, либо на только на чтение, в зависимости от задачи. Сделать это можно по инструкции «Контроль доступа к папкам USB-накопителя«.
Важно! Не нужно создавать правила переадресации (проброса) порта или межсетевого экрана для доступа к SFTP-серверу. Система автоматически создаст нужные правила и разрешит доступ.
Вернитесь на страницу «Приложения». По умолчанию SFTP-сервер выключен. Для включения сервера переведите переключатель в состояние Включено.
Теперь, используя учетную запись с правами доступа к SFTP-серверу (в нашем примере используется admin), вы можете из Интернета получить доступ к файлам диска, подключенного к USB-порту интернет-центра.
Для безопасного и зашифрованного соединения с SFTP-сервером на мобильном устройстве или компьютере нужно использовать SFTP-клиент или файловый менеджер с поддержкой протокола SFTP. Например, для мобильных устройств приложения Cx Проводник, Файловый менеджер + и др., для компьютера FileZilla Client, WinSCP и др.
Приведем пример подключения к SFTP-серверу на Кинетике.
Важно! В нашем примере используется локальный частный IP-адрес сервера SFTP. Если вы настраиваете доступ к серверу из Интернета, то в поле «Хост» нужно указать публичный «белый» IP-адрес на внешнем интерфейсе роутера, или доменное имя роутера, зарегистрированное в службе KeenDNS или DynDNS.
На мобильном устройстве с ОС Android запустите приложение Cx Проводник.
На вкладке «Сеть» добавьте подключение.
Перейдите на вкладку «Удаленные сети» и выберите протокол «SFTP».
В поле «Хост» укажите IP-адрес роутера (для доступа из Интернета это WAN IP-адрес, а для доступа из локальной сети LAN IP), номер порта SSH, а также имя пользователя admin и пароль администратора.
При успешном подключении вы увидите папки и файлы на USB-накопителе.
На компьютере вы также можете воспользоваться любым файловым менеджером или клиентом с поддержкой протокола SSH FTP.
Пример подключения из FileZilla и WinSCP:
User Guide
The SSH (Secure Shell) server allows securely connecting to the router command line. Now we will see how to configure a device for a remote connection to its command-line interface (CLI).
To run the SSH server, the ‘ SSH server ‘ system component must be installed in the Keenetic. You can do this on the ‘ General system settings ‘ page in the ‘ Component options ‘ section by clicking on the ‘ Component options ‘.
Once the component is installed, the SSH server will automatically turn on. It can be accessed in local interfaces with a private security level. For information on the access levels that determine the security level (the firewall logic), see the article Firewall rules configuration from the command interface.
To allow access from external networks, the SSH server must have a ‘ public ‘ level of security. Run the commands at the router command-line interface:
(config)>ip ssh
Core::Configurator: Done. (config-ssh)>security-level public
Ssh::Manager: Security level changed to public.
To avoid unwanted hacking attempts by bots, random Black/Grey Hat hackers, and in cases where the standard port is already running the SSH server in the OPKG subsystem, it is recommended to change the standard port of the server. The default port on which the server is running is standard port number 22 . You can change it to one of the unused numbers (for example, 2022 ):
(config-ssh)> port 2022
Ssh::Manager: Port changed to 2022.
Now users who have access to the Keenetic command line will be able to reach the external IP address of the device on port 2022 from an SSH client and get access to its command line in a secure encrypted channel.
To save the setting, you need to execute the command:
(config)> system configuration save
Core::ConfigurationSaver: Saving configuration.
Connecting to an SSH server
To connect to your Keenetic via SSH protocol , you can use any terminal program that supports this type of connection. For example, a free client, PuTTY.
Download, install and launch the PuTTY terminal client on your computer. Specify the connection type ‘ SSH ‘ in the ‘ Connection type ‘ field. Enter in the ‘ Host Name or IP address ‘ field the network name or IP address of the device ( local IP when connecting from a home network or public WAN IP when connecting from the Internet), and in the ‘ Port ‘ field — the port number by which the connection will be established (by default SSH protocol uses port 22 , in our example port 2022 is used).
After clicking the ‘ Open ‘ button, you will be prompted for the login and password to authenticate on the device. Enter the administrator account credentials. After successful entry of the administrator login and password, the router command line will appear.
It is also easy to establish an SSH connection from Linux. For example, to connect an SSH client with the admin username, you should use the command:
[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)>
If your keys are compromised, the SSH server can generate new keys. This procedure automatically occurs when you install the system component, but can also be started by ip ssh keygen command, where instead of you should specify the required algorithm — default for example.
(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
If you have changed the keys on the server, you should clean them up on the client that remembers them automatically. In Linux , you can use the ssh-keygen application with -R key to do this (case is sensitive because -r key is used to print the saved key hash values to the screen):
[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
Note
Starting with KeeneticOS 2.11 , unprotected telnet sessions of router management via the command line are automatically terminated after 3 minutes of user inactivity. This timeout value can be controlled, but it is impossible to set an infinite duration of the session.
The default timeout of 300 seconds ( 5 minutes ) is set for the SSH connection session. If necessary, this value can be increased. This parameter can be set to 2 32 -1 seconds inclusively.
Openssh вместо dropbear, настройка и использование
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Сейчас на странице 0 пользователей
Top Posters In This Topic
Popular Days
Popular Posts
zyxmon
ВНИМАНИЕ. В случае, если система Entware установлена на NTFS, не устанавливайте OpenSSH — работать не будет! Данный пост основан на более общей инструкции — http://forums.zyxmon.org/viewtopic.php
zyxmon
Название темы прочли? Проблема с устаноской openssh имётся? Скрипт замены dropbear на openssh написать можете — выкладывайте. Проблемы с entware обсуждают не тут. Все жалобы и сопли — в другую т
yrzorg
Вобщем, в openssh 8.8 отключили поддержку ключей RSA с хешем SHA-1 Как временную меру можно использовать параметр в sshd_config: PubkeyAcceptedAlgorithms +ssh-rsa или перегенерировать ключ