2段階SSHする方法まとめ。

環境:MacOSX 10.7

学校のサーバにアクセスするのに、2段階踏まなければなかったのが地味に不便だったので
SSHの設定をしてみた。

~/.ssh/configを設定する。
本題の前に、基本的な書き方。

Host ServerName←これは呼び出す用の名前なので任意の名前に。
HostName azunyan.co.jp←サーバ名(IPアドレス指定も可:HostName: 192.68.23.45)
User peropero←sshする際のユーザ名
port 22←デフォルトは22。デフォルトのままなら指定しなくてもいい。

これで、ssh ServerNameとシェルで打つと、パスワード認証が出て通ればssh完了。
そして、本題。
全学の計算機には直接アクセスできるのに、学部の計算機には、全学の計算機からしかアクセスできない。
つまり...2段階sshをするしかない。
ここで、自分のパソコンと全学計算機のと2つの~/.ssh/configを設定すれば2回のコマンドでいいのだが、
もっと楽な方法がある。
それがこれ。

Host zengaku
HostName zengaku.ac.jp
User ashitaka
Host gakurui
HostName gakurui.ac.jp
User ashitaka
ProxyCommand ssh zengaku nc %h %p←zengaku(全学)のを中継するよ!っていう一文。zengakuは上で指定しているものを使用しています)

※投稿した後に気づいたけど、HostName,User,ProxyCommandの前には、タブが入ります... つぶれちゃってるので...

これで、1回コマンド打つだけで全学の計算機に接続、学部の計算機に接続、の2段階sshができる。
もちろん、パスワード認証は2回あるのでお気をつけを...
同様にscpも使えるらしいので、いい感じだね。やったね!

※ただ、中継するサーバにncが入ってないといけないらしい。これ注意な。(この場合、zengaku.ac.jpにncが入ってないといけないらしい)

参考ぺーじ
http://openlab.dino.co.jp/2009/05/28/235026555.html
SSH力をつけよう