私の一般的なプロセスは次のとおりです。
ssh jumphost
sudo -iHu jump_user
ssh target_user@targethost
Do some task
ProxyCommandを使用してこれを行うにはどうすればよいですか?私は試した:
ssh target_user@target_host -o ProxyCommand="ssh jumphost 'sudo -iHu jump_user' nc -w 120 %h %p"
target_user
ただし、ユーザーがjump_user
onに変更されていないため、パスワードを求められますjump_host
。どうすればいいですか?私の究極の目標は、これを使用してターゲットansible_ssh_common_args
サーバーでタスクを実行できるようにすることです。
ベストアンサー1
私には次のものが必要なようです。
ssh -t jumphost 'exec sudo -iHu jump_user exec ssh target_user@targethost'
ProxyCommand
これはネットワーク接続のみを提供しますが、ユーザーを開く必要がある場合はアクセスする必要がある秘密鍵をjumphost
表します。その場合はそのユーザーとして実行するjump_user
必要があります。ssh
最善のことは、おそらくこれを避けて追加することです。あなたのauthorized_keys
自分のキーを使用するtarget_user@targethost
と、次のことができます。
ssh -j jump_host target_user@targethost