SSHサーバを複数経由させることでセキュリティレベルを高めることがあります。秘密鍵はクライアントマシンに限定して、間のマシンには公開鍵しかおかず、秘密鍵を持たないマシンからのアクセスはできないようにするのと、間のマシンではIP制限を追加するなどして、防御壁を重ねるわけです。
最初にSSHログインが必要なマシンをSSHゲートウェイと呼ぶことにしましょう。基本は、SSHゲートウェイ経由で作業対象のSSHサーバーに接続するには、SSHゲートウェイへSSHログインしてから、さらに作業対象のSSHサーバーへSSHログインします。
localhost$ ssh ssh_gateway ssh_gateway$ ssh target_host target_host$
この接続方法は面倒ですね。しかもSSHゲートウェイに秘密鍵を置く必要がでてきます。ssh_configを使うと、もっと手軽に作業対象のSSHサーバーへログインできるようになります。Linuxだと基本設定は/etc/ssh/ssh_configにあります。アカウント専用の設定は$HOME/.ssh/configに記述します。
Host ssh_gateway Host target_host ProxyCommand ssh -W %h:%p ssh_gateway
これで、target_hostへ直接SSHログインできるようになります。
localhost$ ssh target_host target_host$
さらに多段にすることもできて、ssh_gateway→target_host→target_host2というように複数のSSHサーバーを経由する設定もできます。
Host ssh_gateway Host target_host ProxyCommand ssh -W %h:%p ssh_gateway Host target_host2 ProxyCommand ssh -W %h:%p ssh_target_host
ちなみに、ssh-agentを使うとパスフレーズの入力も省略ができるようになります。CentOSやUbuntuでは自動起動していますが、していない場合は次のようにコンソールで実行してください。
$ eval `/usr/bin/ssh-agent`
秘密鍵を登録します。秘密鍵のファイル名は使っているものを指定してください。このときパスフレーズを入力するとssh-agentが覚えてくれて、次回以降はssh-agentが代わりにパスフレーズの提供をしてくれます。
$ ssh-add ~/.ssh/id_rsa
後は普通にSSHログインをするだけです。
$ ssh target_host
OpenSSHについては下記が参考になります。