ForwardAgentとは?

ローカルエリアネット内に2つ以上のサーバーが存在し、それらにSSHで接続したい場合、
クライアントがローカルエリア内ならば、サーバーのアドレスを入力することで、
それぞれのサーバーにアクセスが出来ます。

しかし、外部から(インターネットなどから)ローカルエリアに接続する場合、
外部からの接続はまずルーターが処理をします。(ブロードバンドルーター)
このとき、ルーターは外部から接続しようとしているコネクションを内部に通すか
ファイヤーウォールの設定に基づき処理をします。

このとき、外部からSSHポートに接続を試みたコネクションはそのまま特定のIPにフォワードする
という設定をしておくことで、外部から内部のサーバーにアクセスできるようになります。

しかし、内部に複数のサーバーが合っても、ルーターは一つのポートには一つの内部IPへしか
フォワードしてくれません。

そこで、その一つのサーバーをゲートウェイサーバーとして利用し、
外部からはまずゲートウェイサーバーにSSHで接続し、そのゲートウェイサーバーのコンソールから
さらにSSHクライアントを使ってローカルエリアネットワークの異なるサーバーにSSHで接続するという
方法が考えられます。


しかし、この方法を使う場合、
「外部----->ゲートウェイ」用の鍵ペア
「ゲートウェイ------>内部の異なるサーバー」用の鍵ペア
と複数の異なる鍵が必要になり、しかもその都度パスフレーズを入力しなければなりません。

そこで、その煩雑さをなくすために
「外部----->ゲートウェイ」用の鍵ペアを「ゲートウェイ------>内部の異なるサーバー」でも使えるようにし、
そのパスワードをフォワードして、パスフレーズの入力を一度だけにしようというのがForwardAgentです。



鍵を統一する

といっても、
「外部----->ゲートウェイ」と「ゲートウェイ------>内部の異なるサーバー」で異なる鍵ペアを使ってたらダメです。

「外部----->ゲートウェイ」用の鍵ペアのうち、公開鍵を「内部の異なるサーバー」にコピーします。
これで、一つの秘密鍵で異なるサーバーにアクセスできるようになります。



ForwardAgentを有効にする

ForwardAgentを行うかどうかはクライアントで設定します。

PuTTyの場合、接続時の設定で「接続→SSH→認証」とカテゴリをたどっていくと「認証パラメータ」という項目の部分に
「エージェントフォワーディングを認める」という箇所があるのでこれにチェックをします。

これで、ForwardAgentが有効になりました。
最終更新:2006年06月27日 11:30