Мне нужно запустить SCP, SFTP и SSH на одном хосте, но через три разных порта; есть ли способ настроить SSHD таким образом? Заранее спасибо.
Вы можете сделать это, добавив
/ etc / ssh / sshd_config
укажите порты, которые вы хотите использовать на сервере: Пример:
Порт 22
Порт 60000
Порт 60001
А затем на клиенте вы можете, например:
$ scp -p 60000 ./file 192.168.1.2:/home/user/ ##adapt on your needs
в другом терминале
$ ssh user@192.168.1.2 ##that's on port 22
и можете запустить sftp
$ sftp -P 60001 user@192.168.1.2:/home/user/file #transfer file to your pwd
Вот и все.
Порт, на котором есть полный обычный SSH, всегда будет также использоваться для scp и SFTP. Если это ограничение вас устраивает, вы, конечно, можете запустить два дополнительных SSH-сервера, передав другие файлы конфигурации с другими настройками порта
через -f
. Один из них будет иметь параметр ForceCommand internal-sftp
, другой - любое из решений, предложенных здесь .
Как вариант, вы можете настроить SSH на любом порту, который вы хотите и сделать переадресацию портов с трех (для SSH, SCP и SFTP) разных портов на этот порт SSH.