7月 7, 2016

SSH多段接続とAgent Forwarding

SSHでは、一旦あるサーバにログインしてから、その上でSSHコマンドを発行して内部ネットワークの別のサーバにログインする、ということはよくあります。内部ネットワークのサーバに直接アクセスできるようにするのはセキュリティ上問題があるためです。

このページでは、便宜的に、最初にログインするサーバを「踏み台」、そこからアクセスする最終目的地のサーバを「内側」と呼ぶことにします。Poderosaは踏み台経由のSSH接続をサポートしており、一度設定すれば内側のサーバへの接続が1クリックできてしまいます。

踏み台経由の接続を設定するには、以下の手順になります。

(1) 新規接続ダイアログで、内側のサーバの接続情報を指定
接続先のIPアドレス/名前は、Poderosaを実行している環境からアクセスできる必要はありません。また、秘密鍵も内側のサーバにログインするためのものを指定します。くれぐれも、秘密鍵を踏み台サーバに置かないようにしてください。

(2) 踏み台経由の接続であることを指定
ssh_hop_1_ja
「踏み台経由の接続」にチェックを入れます。既に使ったことのある踏み台があればそれを指定し、なければ新規の踏み台を次の画面で指定します。

(3) 踏み台の指定
ssh_hop_2_ja
踏み台サーバにログインするための接続情報を入力します。
「踏み台で実行するコマンド」は通常変更する必要はありませんが、sshコマンドにオプションをつけたい場合は調整してください。

このようにして、踏み台経由での接続ができます。SSHのAgent Forwardingの機能によって、踏み台から内側へのSSHログインで必要になる署名のステップは踏み台からPoderosaにリクエストされるようになります。

また、この設定は踏み台の情報も含めて記憶されるので、次回からは接続履歴から1クリックで内側のサーバへのアクセスができてしまうのです!