Wenn ich die Befehle ssh
oder ftp
aus der Bash-Shell verwende, erfährt der Server, mit dem ich mich verbinde, den verwendeten Domänennamen? Ich verstehe, dass der Domänennameörtlichüber DNS in eine IP-Adresse übersetzt. Bei HTTP wird dem Server danach auch der ursprüngliche Domänenname mitgeteilt, um die richtige Seite bereitzustellen oder das richtige TLS-Zertifikat (SNI) vorzulegen.
host serverfault.com
GET /
Tritt ein ähnliches Phänomen beim Herstellen einer Verbindung mit ssh
oder auf ftp
?
Ich frage, weil ich versuche, mich per SSH mit einem Server (GoDaddy-Webhosting) zu verbinden, der einen Domänennamen erwartet, mich aber nicht reinlässt, wenn ich versuche, eine Verbindung herzustellen, user@IPaddress
da der DNS noch nicht auf die GoDaddy-IP-Adresse verschoben wurde.
Antwort1
Nein, die SSH-Clients geben den DNS-Namen, mit dem Sie sich verbunden haben, nicht an den Server weiter.
Wie Sie richtig sagten, wird der Name lokal in die IP-Adresse aufgelöst.
Es sieht so aus, als hätte ich mich in Bezug auf FTP geirrt.
Weitere Einzelheiten finden Sie in der anderen Antwort.
Antwort2
Das SSH/SFTP-Protokollnichtüber einen Mechanismus verfügen, um den Host für den Server bereitzustellen.
Es gab eine Diskussion über das Hinzufügen dieser Funktionalität zu OpenSSH, siehe"Virtuelle Hosts" für SSH.
Das FTP-Protokolltuthave HOST
-Befehl, der dem HTTP-Header entspricht Host
. Er wird durch einen relativ neuenRFC 7151. Das RFC wurde im März 2014 veröffentlicht (der erste Entwurf stammt allerdings aus dem Jahr 2007). Daher wird es noch nicht allgemein unterstützt.
Auf der Serverseite wird es von IIS unterstützt (das RFC wird von Microsoft gesponsert) undProFTPD(seit 1.3.6rc1). Es wird von anderen gängigen Unix-FTP-Servern wie Pure-FTPd oder vsftpd nicht unterstützt.
Auf der Clientseite wird es unterstützt durch(Mein) WinSCP. Es wird von FileZilla nicht unterstützt, da sein Autorsich der Idee widersetzen, noch von CyberDuck. Bei anderen weiß ich nichts.