
最近、 を使用すると~/.ssh/config
、多くのキーストロークを節約し、長いコマンド ラインを自動化して、ホストごとのデフォルトを多数指定できることを発見しました。このツールの強力さに気づいたので、別の使用例にも適合するかどうか疑問に思っています。
bastion
私はと の2 つのホストにアクセスできますwikispy
。Bastion には外部 IP があり、wikispy
内部 IP からのみ表示されます。つまり、通常、 に接続するには、まず にwikispy
ssh してから を呼び出す必要があります。明らかに、この方法ではポート転送などが複雑になり、これは避けたいものです。bastion
ssh wikispy
このことから、次のような疑問が生じます。~/.ssh/config
「ユーザーが というラベルのホストを要求したときにwikispy
、実際に に接続しbastion
、 を呼び出すssh wikispy
」というエントリを何らかの方法で作成することは可能でしょうか。 などのものを呼び出しssh wikispy -L 9999:localhost:9999
、bastion
の内部からアクセスできるようにポートを転送できるように、透過的に動作させることは可能でしょうwikispy
か。
答え1
ProxyCommand
ここでとの組み合わせが役に立つようです。 解決策は次のとおりです。nc
に以下を追加します。~/.ssh/config
Host bastion
HostName EXTERNAL_IP
User d
Host wikispy
HostName INTERNAL_IP
User d
ProxyCommand ssh bastion nc -q0 %h 22
によるとこの記事この方法では、複数のレベルのネストを取得できます。