Domain-Name-System

SSH 或 FTP 協議是否告訴伺服器我要連接到哪個域?

  • May 18, 2021

在 Bash shell 中使用sshorftp命令時,我要連接的伺服器是否知道所使用的域名?我了解域名是通過 DNS在本地翻譯成 IP 地址的。在 HTTP 中,發生這種情況後,伺服器也會被告知原始域名,以便提供正確的頁面,或提供正確的 TLS 證書 (SNI)。

host serverfault.com
GET /

ssh連接到or時是否會出現類似現象ftp

我問是因為我試圖通過 ssh 連接到需要域名的伺服器(GoDaddy 虛擬主機),但是當我嘗試通過連接時沒有讓我進入,user@IPaddress因為 DNS 尚未移動到 GoDaddy IP 地址。

不,SSH 客戶端不會將您連接到的 DNS 名稱傳遞給伺服器。

正如您所說的那樣,名稱在本地解析為 IP 地址。

看來我對 FTP 的看法是錯誤的。

有關詳細資訊,請參閱其他答案。

SSH/SFTP 協議沒有任何機制將主機提供給伺服器。

有關於將此功能添加到 OpenSSH 的討論,請參閱ssh 的“虛擬主機”


FTP協議確實HOST命令,相當於HTTPHost頭。它由相對較新的RFC 7151指定。RFC 於 2014 年 3 月發布(儘管初稿來自 2007 年)。因此,它尚未得到普遍支持。

在伺服器端,它受到 IIS(RFC 由 Microsoft 贊助)和ProFTPD(自 1.3.6rc1 起)的支持。其他常見的 Unix FTP 伺服器(如 Pure-FTPd 或 vsftpd)不支持它。

在客戶端,它由*(我的)* WinSCP支持。FileZilla 不支持它,因為它的作者反對這個想法,Cyber​​Duck 也不支持。我不知道其他人。

引用自:https://serverfault.com/questions/672270