web-dev-qa-db-ja.com

SSHまたはFTPプロトコルは、どのドメインに接続しようとしているのかをサーバーに伝えますか?

Bash Shellからsshまたはftpコマンドを使用する場合、使用しているドメイン名を知るために接続しているサーバーは使用されますか?ドメイン名がlocallyによってDNS経由でIPアドレスに変換されることを理解しています。 HTTPでは、その後、正しいページを提供したり、正しいTLS証明書(SNI)を提示したりするために、元のドメイン名もサーバーに通知されます。

Host serverfault.com
GET /

sshまたはftpに接続するときに同様の現象が発生しますか?

ドメイン名が必要なサーバー(GoDaddyウェブホスティング)にSSH接続しようとしているのに、DNSがまだGoDaddy IPアドレスに移動されていないため、user@IPaddressを介して接続しようとしても許可されないので、質問します。 。

25
dotancohen

いいえ、SSHクライアントは接続先のDNS名をサーバーに渡しません。
あなたが正しく言ったように、名前はローカルでIPアドレスに解決されます。

FTPについて間違っていたようです。
詳細については、他の回答を参照してください。

25
faker

SSH/SFTPプロトコルには、ホストをサーバーに提供するメカニズムがありません

この機能をOpenSSHに追加することについての議論がありました "sshの仮想ホスト" を参照してください。


FTPプロトコルdoesには、HTTP Hostヘッダーと同等のHostコマンドがあります。比較的新しい RFC 7151 で指定されています。 RFCは2014年3月に公開されました(ただし、最初のドラフトは2007年のものです)。そのため、まだ普遍的にサポートされていません。

サーバー側では、IIS(RFCはMicrosoftが提供)と ProFTPD (1.3.6rc1以降)でサポートされています。他の一般的なUnixではサポートされていません。 Pure-FTPdやvsftpdなどのFTPサーバー。

クライアント側では、(my)WinSCP でサポートされています。 FileZillaは、その作者である アイデアに反対 としても、Cyber​​Duckによってもサポートされていません。他人については知りません。

34
Martin Prikryl