内部ホストにSSHで簡単に接続できますか?

内部ホストにSSHで簡単に接続できますか?

最近、 を使用すると~/.ssh/config、多くのキーストロークを節約し、長いコマンド ラインを自動化して、ホストごとのデフォルトを多数指定できることを発見しました。このツールの強力さに気づいたので、別の使用例にも適合するかどうか疑問に思っています。

bastion私はと の2 つのホストにアクセスできますwikispy。Bastion には外部 IP があり、wikispy内部 IP からのみ表示されます。つまり、通常、 に接続するには、まず にwikispyssh してから を呼び出す必要があります。明らかに、この方法ではポート転送などが複雑になり、これは避けたいものです。bastionssh wikispy

このことから、次のような疑問が生じます。~/.ssh/config「ユーザーが というラベルのホストを要求したときにwikispy、実際に に接続しbastion、 を呼び出すssh wikispy」というエントリを何らかの方法で作成することは可能でしょうか。 などのものを呼び出しssh wikispy -L 9999:localhost:9999bastionの内部からアクセスできるようにポートを転送できるように、透過的に動作させることは可能でしょう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

によるとこの記事この方法では、複数のレベルのネストを取得できます。

関連情報