🌟

踏み台サーバー経由でsshする

2022/01/11に公開

負荷試験を行うサーバーにアクセスをする場合、踏み台サーバーを経由してアクセスすることも多いと思います。
そういう時にひとつのコマンドでアクセスする方法を書いておこうと思います。

接続方法

まずは~/.ssh/configに次のように記載します。

# 踏み台サーバーの情報
Host bastion
    HostName ××××.××××.××××.××××
    User test-user
    TCPKeepAlive yes
    IdentityFile ~/.ssh/id_rsa

# 負荷試験サーバーの情報
Host Load
 HostName ××××.××××.××××.××××
 User load-user
 TCPKeepAlive yes
 IdentityFile ~/.ssh/******.pem
 ProxyCommand ssh bastion -W %h:%p

ポイントは ProxyCommand ssh bastion -W %h:%pを追加することで踏み台サーバーを経由することができるようになります。

これで次のコマンドでアクセスできるようになります。

ssh Load

scpも簡単に

踏み台サーバーを経由する前は次のようにしてファイルを転送するようになっていました。

# 踏み台サーバーへファイルを送信
scp -r ~/Develop/load_tests test-user@:××××.××××.××××.××××:/home/test-user

# 踏み台サーバーへアクセス
ssh bastion

# 負荷試験サーバーへ先ほど送ったファイルを送信
scp -r ~/load_test load-user@××××.××××.××××.××××:/home/load-user

上のコードを1行にできます。

scp -r ~/Develop/load_tests Load:/home/load-user

Discussion