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