SSHで多段ログインする方法(別解)

ssh の -t オプションで多段ログインするという話なんだけど、OpenSSH なら ProxyCommand の機能とconnectを組み合わせて使えばいいんじゃないななぁ。
hostA経由でhostBにログインしたい場合はhostAにconnectをインストールしておいて、ローカルの $HOME/.ssh/config に

Host hostB
ProxyCommand ssh hostA connect %h %p

ってしておけばあとは

ssh hostB

でログインできる。これならAgentForward使わずに公開鍵認証も安全に使えるし、scp、rsync なんかによるファイル転送もできる。
あ、hostB に root 権限を持っていないひとは適当にコンパイルしてホームディレクトリ以下に適当に放り込んでおけばいいと思う。