注:これは次のようになります。この問題。関連していますが、同じではありません(さらに別のStackExchangeサイトにあります)。この質問では、作成者はリモートシステムでコマンドを実行する方法について質問しました。この質問では、2つのSSH接続を介してシェルを開いて維持する方法を尋ねます。
$gateway
私の仕事に到達するには、中間システム(私たちと呼ばれます)を通過する必要があります$server
。
ssh $gateway (supply password manually)
ssh $server (supply password manually)
の最初のホップではSSH公開鍵認証を設定できますが、$gateway
2番目のホップでは設定できません$server
。だから私ができる最善は次のとおりです。
ssh $gateway (no password necessary)
ssh $server (supply password manually)
私の質問は次のとおりです。sshpass
2番目のホップで、または他の方法を使用してパスワードを提供できますか?sshpass
コンピュータに他のソフトウェアや他のソフトウェアをインストールする権限がありません$gateway
。
ベストアンサー1
手動パスワード入力を無視してみることができます。
vipin@kali:~$ cat kk.sh
#!/usr/bin/expect
set password 1 #set password to 1 (hardcoded)
spawn ssh kali@kali # user and hostname is kali
expect "password"
send "$password\r"
interact # to get the shell prompt
vipin@kali:~$ ./kk.sh # execute it and you are in new server