または

または

私の一般的なプロセスは次のとおりです。

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_useronに変更されていないため、パスワードを求められます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

おすすめ記事