踏み台サーバを超えてSSH接続(SSHコマンドの場合)

ALL
スポンサーリンク

踏み台サーバを経由して、最終接続先サーバへSSHコマンドで接続する方法です。

踏み台サーバで再度SSHを実行する方法

踏み台サーバに接続後、そこで再度 sshコマンドを実行して最終接続先サーバへ接続する方法です。
sshコマンドは、接続後に実行するコマンドを指定できますが、そこに最終接続先サーバへ接続する為の ssh を実行します。

次の書式で実行すると、踏み台サーバを経由して、最終接続先サーバに接続します。

ssh -t 踏み台サーバ ssh 最終接続先サーバ

踏み台サーバ、最終接続先サーバの順で認証になります。
なお、最終接続先で exit すると、最終接続先と一緒に踏み台サーバも接続が終了します。

-t オプション無しだと
Pseudo-terminal will not be allocated because stdin is not a terminal.
とエラーが出て接続できないので注意。

ProxyCommand指定による接続

踏み台サーバは OpenSSH5.4以降が必要です。
CentOS6 は5.3なのでこの方法は使えません。

OpenSSH のバージョンを確認するには、sshコマンドで -V オプションを付けます。

$ ssh -V
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014

次の書式で実行すると、踏み台サーバを経由して、最終接続先サーバに接続します。

ssh -oProxyCommand="ssh -W %h:%p 踏み台" 最終接続先

踏み台サーバ、最終接続先サーバの順で認証になります。
なお、最終接続先で exit すると、最終接続先と一緒に踏み台サーバも接続が終了します。

「踏み台サーバで再度SSHを実行する方法」とこの方法の違いは、踏み台サーバで別途 sshコマンドが実行されない点です。

参考

sshで踏み台経由時のショートカット – Qiita
多段 ssh / rsync するために ProxyCommand を使ってみる – daily dayflower
SSH力をつけよう

コメント