Bash Shellからssh
またはftp
コマンドを使用する場合、使用しているドメイン名を知るために接続しているサーバーは使用されますか?ドメイン名がlocallyによってDNS経由でIPアドレスに変換されることを理解しています。 HTTPでは、その後、正しいページを提供したり、正しいTLS証明書(SNI)を提示したりするために、元のドメイン名もサーバーに通知されます。
Host serverfault.com
GET /
ssh
またはftp
に接続するときに同様の現象が発生しますか?
ドメイン名が必要なサーバー(GoDaddyウェブホスティング)にSSH接続しようとしているのに、DNSがまだGoDaddy IPアドレスに移動されていないため、user@IPaddress
を介して接続しようとしても許可されないので、質問します。 。
いいえ、SSHクライアントは接続先のDNS名をサーバーに渡しません。
あなたが正しく言ったように、名前はローカルでIPアドレスに解決されます。
FTPについて間違っていたようです。
詳細については、他の回答を参照してください。
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は、その作者である アイデアに反対 としても、CyberDuckによってもサポートされていません。他人については知りません。