SSH で踏み台 (Bastionとも呼ぶ)サーバーを介して最終的なサーバーに接続する際に、一気に目的のサーバーにアクセスするための方法です。
Terminal でいっぺんにコマンドを打つ方法
-o ProxyCommand=''
オプションの中に踏み台サーバーのアクセス情報を挟むことでアクセスできます。
ssh -o ProxyCommand='ssh -W %h:%p -i [踏み台サーバーSSH鍵パス] [踏み台ユーザー名]@[踏み台サーバーアドレス]' -i [最終目的サーバー秘密鍵パス] [最終目的サーバーのユーザー名]@[最終目的サーバーのアドレス]
.ssh/config ファイルに記述して簡単アクセス
さきほどの踏み台アクセスのコマンドは長いです。覚えるの面倒です。
なので .ssh/config のテキスト設定ファイルに、最終目的サーバーへのショートカットアドレスを設定し、ProxyCommand を設定することで、より簡単にアクセスできる様になります。
# 踏み台サーバーの設定
Host bastion.host # ここは自分の覚えやすい様に設定する
HostName [踏み台サーバーアドレス]
IdentitiesOnly yes # 秘密鍵認証の場合
IdentityFile "[踏み台サーバーSSH鍵パス]"
User [踏み台ユーザー名]
Host server.host # ここも自分の覚えやすい様に設定する
HostName [最終目的サーバーのアドレス]
IdentitiesOnly yes # 秘密鍵認証の場合
IdentityFile "[最終目的サーバー秘密鍵パス]"
User [最終目的サーバーのユーザー名]
ProxyCommand ssh -W %h:%p bastion.host # 自分で設定した踏み台サーバーのHost名
上記の設定をすると
ssh server.host
で SSH 接続できます。
これだったら、覚えることができます。
上記の bastion.host
や server.host
の記述ですが、僕はよく
[環境].[案件名]
とかで設定しています。
例えば、prod.concretecms
や dev.concretecms
などと設定すると、アクセスしやすいのではないかと思います。