踏み台サーバーにログインしたあと、毎回専用ユーザーになるのが面倒だったので調べた
ログイン後別のユーザーになりたい
Host bastion_aws
HostName x.x.x.x
RemoteCommand su - user2
RequestTTY forceログイン後所定のディレクトリに移動したい
Host bastion
HostName x.x.x.x
RemoteCommand cd temp; bash
RequestTTY force末尾のbashがないと、コマンド実行後すぐに切断される
sshコマンドオプションでも可能
ssh -t user1@remote.host "sudo su - user2" -t でtty割り当て
解説
https://man7.org/linux/man-pages/man5/ssh_config.5.html
- RemoteCommand サーバに接続後、リモートホストで実行されるコマンド。
- RequestTTY 接続先のサーバでシェルを起動するかを指定する。
RequestTTY
RequestTTYは4つの値のうちの1つを持つことができます
no- SSHは端末の出力を要求しません。yes- SSHは、その入力元が端末でもある場合に端末出力を要求します。force- SSHは、入力ソースの種類にかかわらず、常に端末の出力を要求します。auto-SSHは、ログインセッションを開くときに端末の出力を要求します。
RequestTTYにforceかyesをつけないと、接続後にttyが割り当てられない
RemoteCommand
接続後にリモートで実行されるコマンド このコマンドを実行すると切断される