web-dev-qa-db-ja.com

/ etc / hostsファイル内のホスト名を使用したsshトンネリング

ジャンプボックスを介して宛先ホストにSSHで接続しようとしています。以下は私の設定ファイルのエントリです

Host 172.* 
   User surendra
   IdentityFile ~/.ssh/id_rsa
   ProxyCommand ssh -q -A surendra@jump nc -q0 %h %p

これは、IPアドレスを使用して宛先ボックスにSSHで接続すると正常に機能します。しかし、ホスト名でSSHを実行しようとすると、これは機能しません。

注:/ etc/hostsファイルにもエントリを作成しました。

/ etc/hostsファイルのホスト名エントリを調べて、ホスト名を使用して宛先ボックスにsshできるように、.ssh/configファイルを構成する方法を教えてもらえますか。

1
suru1432002

これを回避する別の方法は、ローカルマシンとジャンプボックス/ etc/hostsファイルの両方にホスト名/ IPマッピングエントリを作成することです。

例プロキシしようとしているマシンが10.xx.yy.zzであり、ユーザーフレンドリーな名前appserver.mycompany.comを指定し、Jumpboxがjumpbox.mycompany.comであると仮定します。

1)ローカルホスト/ etc/hostsで、次のエントリを作成します

10.xx.yy.zz appserver.mycompany.com

2)ジャンプボックスの/ etc/hostsで、次のエントリを作成します

10.xx.yy.zz appserver.mycompany.com

これで、ローカルマシンとジャンプボックスの両方がユーザーフレンドリーな名前を実際のIPに解決できるようになり、sshプロキシは次の構成で機能するはずです。

Host appserver.mycompany.com
   User surendra
   IdentityFile ~/.ssh/id_rsa
   ProxyCommand ssh -A [email protected] -W %h:%p
1
Jay

-Wを使用します:

Match exec grep %h /etc/hosts
    [...]
    ProxyCommand ssh -W  %h:%p -q -A surendra@jump

ジャンプボックスからではなく、ローカルマシンからホスト名を解決します。

また、ホストが/etc/hostsに記載されているかどうかも確認します。

1
Jakuje