
SFTP (SSH File Transfer Protocol) — это безопасный протокол передачи файлов между двумя хостами по зашифрованному соединению. Он также позволяет выполнять различные файловые операции с удалёнными файлами и возобновлять передачу файлов.
Протокол SFTP можно использовать в качестве замены устаревшему протоколу FTP. Он обладает всеми функциями FTP, но обеспечивает более безопасное соединение.
В этой статье объясняется, как изменить порт SFTP по умолчанию в Linux. Мы также покажем, как настроить брандмауэр для разрешения нового порта.
Не путайте SFTP с FTPS. Оба протокола служат одной и той же цели. Однако FTPS расшифровывается как FTP Secure и представляет собой расширение стандартного протокола FTP с поддержкой TLS.
Какой порт использует SFTP
SFTP является подсистемой SSH и обеспечивает тот же уровень безопасности, что и SSH.
Порт SFTP по умолчанию — 22 .
Изменение порта SFTP
Изменение порта SFTP/SSH по умолчанию добавляет дополнительный уровень безопасности вашему серверу, снижая риск автоматизированных атак.
Лучший способ защитить свой сервер от атак — настроить брандмауэр так, чтобы он разрешал доступ к порту 22 только с доверенных хостов, и настроить аутентификацию на основе ключей SSH .
Следующие шаги описывают, как изменить порт SSH на машинах Linux.
1. Выбор нового номера порта
В Linux порты ниже 1024 зарезервированы для известных служб и могут быть подключены только с правами root. Хотя для службы SSH можно использовать порт в диапазоне от 1 до 1024, чтобы избежать проблем с распределением портов, рекомендуется выбирать порт выше 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/tcpsudo 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:
/etc/ssh/sshd_config
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 .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства
- Как настроить SFTP Chroot Jail
- Как настроить SSH-ключи в Ubuntu 20.04
- Как настроить SSH-ключи в CentOS 8
- Как настроить ключи SSH в Debian 10
- Как настроить SSH-туннелирование (переадресацию портов)
- Как использовать SSHFS для монтирования удаленных каталогов через SSH
- Генерация ключей SSH в Windows с помощью PuTTYgen