やりたいこと
今回想定する接続の流れ
手元(local/mac) -> 踏み台(bastion_host/linux) -> 最終ターゲット(target_host/linux)
以下のようなワンライナーを.ssh/configで表現したい
ssh -t foo@bastion_host -p 22 sudo -u bar ssh target_host
制約として、 bastion_host
に置いてある target_host
の鍵を localにもってこれないとする。
この制約があると、すんなり .ssh/config には記載できない...。
環境
- local
- OpenSSH_7.9p1, LibreSSL 2.7.3
どうするか
- helper scriptでなんとかする(参考)
- .ssh/config に設定をまとめたいがそれはできない
-
RemoteCommand
に記述する(今回やってみる)- .ssh/config に設定をまとめられる
RemoteCommand
に記述する
具体的には、.ssh/config に以下のように記載する
Host foobar
HostName bastion_host
RequestTTY force
User foo
Port 22
RemoteCommand sudo -u bar ssh -t target_host
そして以下のようにsshすればOK
$ ssh foobar