SFTP (SSH File Transfer Protocol) — это безопасный файловый протокол для передачи файлов между двумя хостами по зашифрованному соединению. Он также позволяет выполнять различные файловые операции с удаленными файлами и возобновлять передачу файлов.
SFTP можно использовать как замену устаревшему протоколу FTP. Он имеет все функции FTP, но с более безопасным соединением.
В этой статье объясняется, как изменить порт SFTP по умолчанию в Linux. Мы также покажем вам, как настроить брандмауэр, чтобы разрешить использование нового порта.
Содержание
Какой порт использует SFTP
SFTP является подсистемой SSH и обеспечивает тот же уровень безопасности, что и SSH.
Порт SFTP по умолчанию — 22 .
Изменение порта SFTP
Изменение порта SFTP / SSH по умолчанию добавляет дополнительный уровень безопасности на ваш сервер, снижая риск автоматических атак.
Следующие шаги описывают, как изменить порт SSH на машинах Linux.
1. Выбор нового номера порта
В Linux номера портов ниже 1024 зарезервированы для хорошо известных служб и могут быть связаны только с пользователем root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов, рекомендуется выбирать порт выше 1024.
В этом примере показано, как изменить порт SFTP / SSH на 4422, но вы можете выбрать любой порт по своему вкусу.
2. Настройка брандмауэра
Перед изменением порта SFTP / SSH вам необходимо открыть новый порт в брандмауэре.
Если вы используете UFW, брандмауэр по умолчанию в Ubuntu , выполните следующую команду, чтобы открыть порт:
sudo ufw allow 4422/tcp
В CentOS инструментом управления брандмауэром по умолчанию является FirewallD. Чтобы открыть порт, введите следующие команды:
sudo firewall-cmd --permanent --zone=public --add-port=4422/tcp
sudo firewall-cmd --reload
Пользователям CentOS также необходимо настроить правила SELinux, чтобы разрешить новый порт SSH:
sudo semanage port -a -t ssh_port_t -p tcp 4422
Если вы используете другой дистрибутив Linux, в котором работает iptables, чтобы открыть новый порт, выполните:
sudo iptables -A INPUT -p tcp --dport 4422 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
3. Настройка SFTP / SSH
Конфигурация сервера SSH хранится в /etc/ssh/sshd_config
. Откройте файл в текстовом редакторе:
sudo vim /etc/ssh/sshd_config
Найдите строку, начинающуюся с Port 22
. Обычно эта строка закомментирована с помощью символа решетки ( #
). Удалите хэш #
и введите новый номер порта SSH:
Port 4422
Будьте очень осторожны при редактировании файла конфигурации. Неправильная конфигурация может помешать запуску службы SSH.
После этого сохраните файл и перезапустите службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart ssh
В CentOS служба SSH называется sshd
:
sudo systemctl restart sshd
Убедитесь, что демон SSH прослушивает новый порт:
ss -an | grep 4422
Результат должен выглядеть примерно так:
tcp LISTEN 0 128 0.0.0.0:4422 0.0.0.0:*
tcp ESTAB 0 0 192.168.121.108:4422 192.168.121.1:57638
tcp LISTEN 0 128 [::]:4422 [::]:*
Использование нового порта SFTP
Чтобы указать номер порта, вызовите команду sftp
с параметром -P
за которым следует новый номер порта:
sftp -P 4422 username@remote_host_or_ip
Если вы используете SFTP-клиент с графическим интерфейсом, просто введите новый порт в клиентском интерфейсе.
Выводы
Порт SFTP по умолчанию — 22. Однако вы можете изменить порт на любой номер.
Если вы регулярно подключаетесь к нескольким системам, вы можете упростить рабочий процесс, указав все свои подключения в файле конфигурации SSH .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.