SSH或FTP协议是否告诉服务器我试图连接哪个域?

当从Bash shell使用sshftp命令时,我所连接的服务器是否知道使用的域名? 我知道域名是通过DNS 在本地翻译成IP地址的。 在HTTP中,在发生这种情况之后,服务器也会被告知原始域名,以便提供正确的页面或呈现正确的TLS证书(SNI)。

 host serverfault.com GET / 

连接到sshftp时是否会出现类似现象?

我问,因为我试图ssh到一个服务器(GoDaddy的webhosting)期待一个域名,但不让我在当我尝试通过user@IPaddress IP地址连接,因为DNS尚未移动到GoDaddy的IP地址。

    不,SSH客户端不会将您连接的DNS名称传递给服务器。
    正如您所说的那样,名称在本地parsing为IP地址。

    看起来我错了FTP。
    有关详情,请参阅其他答案。

    SSH / SFTP协议没有任何机制将主机提供给服务器。

    有关于向OpenSSH添加此function的讨论,请参阅ssh的“虚拟主机” 。


    FTP协议具有HOST命令,这相当于HTTP Host头。 它是由一个相对较新的RFC 7151指定的。 RFC于2014年3月发布(尽pipe第一稿是从2007年起)。 因此,尚未得到普遍支持。

    在服务器端,它由IIS(RFC由Microsoft赞助)和ProFTPD (从1.3.6rc1)支持。 它不受其他常见的Unix FTP服务器如Pure-FTPd或vsftpd的支持。

    在客户端,它由(我的) WinSCP支持。 它不被FileZilla支持,因为它的作者反对这个想法 ,也没有被Cyber​​Duck支持。 我不了解别人。