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

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

在 Bash shell 中使用sshftp命令时,我连接的服务器是否了解所使用的域名?我理解域名是本地通过 DNS 转换为 IP 地址。在 HTTP 中,发生这种情况后,服务器还会被告知原始域名,以便提供正确的页面或提供正确的 TLS 证书 (SNI)。

host serverfault.com
GET /

ssh连接到或时是否会发生类似现象ftp

我之所以问这个问题,是因为我正在尝试通过 ssh 进入一个服务器(GoDaddy 网络托管),该服务器需要一个域名,但是当我尝试通过连接时,它不让我进入,user@IPaddress因为 DNS 尚未移动到 GoDaddy 的 IP 地址。

答案1

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

看来我对 FTP 的理解是错误的。
有关详细信息,请参阅其他答案。

答案2

SSH/SFTP 协议才不是有任何机制可以向服务器提供主机。

有关于将此功能添加到 OpenSSH 的讨论,请参阅ssh 的“虚拟主机”


FTP 协议HOST命令,相当于 HTTPHost标头。它由一个相对较新的RFC 7151。RFC 于 2014 年 3 月发布(尽管第一稿是 2007 年的)。因此,它尚未得到普遍支持。

在服务器端,它由 IIS(RFC 由 Microsoft 赞助)支持,并且FTPD软件(自 1.3.6rc1 起)。其他常见的 Unix FTP 服务器(如 Pure-FTPd 或 vsftpd)不支持它。

在客户端,它支持(我的) 温SCP. 它不受 FileZilla 支持,因为它的作者反对这个想法,也不是 Cyber​​Duck 的。我不知道其他人的情况。

相关内容