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


25

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

host serverfault.com
GET /

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

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


あなたは持っています.ssh/configホスト名(またはIPアドレス)に固有の?どのようなエラーが発生しますか?(うーん、これはサポートですが、質問に答えるという目的ではありません...)
アンドレアスクレイ

Login authentication failedFTPおよびPermission deniedSSHの汎用です。実際の接続は問題なく、ログイン資格情報を4回確認しました。
-dotancohen

回答:


25

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

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


5
FTPにはもはや当てはまりません。私の答えを
マーティンPrikryl

興味深いことに、私はそれを知りませんでした。回答を編集しました。ありがとう!
フェイカー

実際、2015年の時点では、ほとんどの場合、未編集の回答は依然として正しいです。ただし、これは今後数年で変わる可能性があります。
-dotancohen

まだ何人のクライアントがそれをサポートしているのだろうかと思っています。いずれにせよ、あなたの答えはより正確です。
フェイカー

@faker atmを知っているクライアント側のサポートに関する情報を少し追加しました。後でさらに調査する場合があります。
マーティンプリクリル

34

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

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


FTPプロトコルではない持っているHOSTHTTPに相当するコマンド、Hostヘッダ。比較的新しいRFC 7151で指定されています。RFCは2014年3月に公開されました(最初のドラフトは2007年からです)。そのため、まだ一般的にサポートされていません。

サーバー側では、IIS(RFCはMicrosoftが後援しています)およびProFTPD(1.3.6rc1以降)によってサポートされています。Pure-FTPdやvsftpdなどの他の一般的なUnix FTPサーバーではサポートされていません。

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


これは、今後数年間で人々がこの問題に遭遇し、この質問をグーグルで検索する際に重要な考慮事項となります。
-dotancohen

1
知ってうれしいです。あるIPアドレスに対して行われたssh接続をホスト名に基づいて異なるサーバーにディスパッチできるフロントエンドが必要なため、sshにも同様の何かが存在することを望みます。しかし、私の以前の研究はすべて、sshには存在せず、プロトコルに簡単に追加できないという結論に同意しています。
カスペルド

@kasperd、接続ごとに異なるポート番号を使用できます。または、ユーザー名に基づいて実行できます。
AE

@AEどちらのアプローチも私のユースケースでは機能しません。接続を送信するサーバーを決定する必要があるときまでに、クライアントはまだユーザー名を送信していません。(さらに、ユーザー名は暗号化された状態でのみ送信され、ユーザー名を抽出するためにssh接続を送信する方法がわかりません。)フロントエンドが実際にホスト名のDNSルックアップを実行するため、ポート番号も機能しませんバックエンドを見つけるために。(フロントエンドはデュアルスタックで、バックエンドにはパブリックIPv4アドレスがありません。フロントエンドの目的は、バックエンドにIPv4専用クライアントからアクセスできるようにすることです。)
kasperd

2
@kasperdこれをSSHに追加するためのOpenSSHメーリングリストスレッドへのリンクを追加しました。
マーティンPrikryl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.