2007年12月30日日曜日

サーバーをいくつか経由してsshログインする方法

sshでサーバーをいくつか経由して、目的のサーバーに接続する方法です。

sshで、server(Bとする)に接続したいけれど、severBは、serverAを経由しないとアクセスできない位置に設置されているとします。

  localhost -> serverA -> serverB

ssh serverA ssh serverB

と実行すれば一応接続できるのですが、ssh (remote host) (command ...)という構文で、コマンドを実行するだけなので、serverBにログインした後、すぐconnectionが切断されてしまいます。

rsyncなどは、この形式でも、以下のように使えば、serverBのデータを取得できます。

rsync -av -e 'ssh serverA ssh' serverB:./(src) (dest)

本題のsshですが、

ssh -t serverA ssh serverB

とすると、仮想ttyを作ってくれて、serverBにログイン後、shellでの作業を続けられます。

sshのkey agentを使う設定にしておけば、パスワード認証要らずで、サーバーをどんどん経由して、ログインできるようになります。

0 件のコメント:

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.