При использовании ssh
или ftp
команды от оболочки Bash, делает сервер, который я подключаю для приобретения знаний об используемом доменном имени? Я понимаю, что доменное имя локально переводится в IP-адрес через DNS. В HTTP, после этого происходит, серверу говорят исходное доменное имя также для обслуживания корректной страницы, или представить корректный сертификат TLS (SNI).
host serverfault.com
GET /
Делает подобное явление, происходят при соединении с ssh
или ftp
?
Я спрашиваю, потому что я пробую к ssh в сервер (веб-хостинг GoDaddy), который ожидает доменное имя, но не впускает меня, когда я попытаюсь соединиться через user@IPaddress
поскольку DNS еще не перемещен в IP-адрес GoDaddy.
Нет, клиенты SSH не передают DNS-имя, к которому вы подключились, на сервер.
Как вы правильно сказали, имя разрешается локально в IP-адрес.
Похоже, я ошибался насчет FTP.
Подробнее см. Другой ответ.
Протокол SSH / SFTP не имеет какого-либо механизма для предоставления хоста серверу.
Было обсуждение добавления этой функции в OpenSSH, см. «Виртуальные хосты» для ssh .
Протокол FTP имеет команду HOST
, которая является эквивалентом заголовка HTTP Host
. Это указано в относительно новом RFC 7151 . RFC был опубликован в марте 2014 года (хотя первый черновик датирован 2007 годом). Таким образом, он еще не поддерживается повсеместно.
На стороне сервера он поддерживается IIS (RFC спонсируется Microsoft) и ProFTPD (начиная с 1.3.6rc1). Он не поддерживается другими распространенными FTP-серверами Unix, такими как Pure-FTPd или vsftpd.
На стороне клиента он поддерживается (my) WinSCP . Он не поддерживается ни FileZilla, так как его автор возражает против идеи , ни CyberDuck. Насчет других не знаю.