私の例は、サーバーを介してトンネリングしていてパスワードを入力していますが、操作が完了したらstdinを開いたままにするコマンドを生成したいと思います。たとえば、このリモートホストにログインするたびに、他のユーザーにsudoを実行する必要があります。だから私は次のことをしました:
ssh -p $tunnel_port $me@localhost -t "sudo -S -u $_remoteUser -i" <<< "$( findPassword )"
「findPassword」は、パスワードマネージャから自分のパスワードを取得する機能です。
これにより接続が閉じます。 sudoのstdinにパスワードを書いた後、どのように接続を開きますか?
ベストアンサー1
ssh コマンドの STDIN が findPassword から提供されるという参照があります。 findPasswordでsudoコマンドを提供したいSTDIN。
ssh -p $tunnel_port $me@localhost -t "echo $(findPassword) | sudo -S -u $_remoteUser -i"
または
ssh -p $tunnel_port $me@localhost -t "sudo -S -u $_remoteUser -i < $(findPassword)"