SSHを介してリモートシェルスクリプトを実行し、パスワードが必要なスクリプトのコマンドでパスワードの入力を求めるメッセージを表示するにはどうすればよいですか?

SSHを介してリモートシェルスクリプトを実行し、パスワードが必要なスクリプトのコマンドでパスワードの入力を求めるメッセージを表示するにはどうすればよいですか?

こんなことをしたい

ssh [email protected] ./remote_script.sh

Remote_script.shの内容

#!/bin/bash
hg pull

この例は、私が実際にやったよりもはるかに簡単です。私はSSHを介して直接シェルコマンドを渡すことができることを知っていますが、リモートスクリプトを実行したいとしましょう。私もMercurialにフックがあることを知っていますが、その内容も無視しています。簡潔にするために、ここではMercurialを例として使用しています。

これは、ユーザーにパスワードを求めるメッセージが表示されると予想される状況です。

[email protected] password: 

出力は次のとおりです。

ssh [email protected] ./remote_script.sh
remote: Permission denied, please try again.
remote: Permission denied, please try again.
remote: Permission denied (publickey,password).
abort: no suitable response from remote hg!

リモートシェルセッションがパスワードプロンプトに何かを入力し、3回の自動試行後に失敗したようです。私は本当にローカルシェルセッションにプロンプ​​トを表示できるようにしたいと思います。たぶんそれは不可能かもしれません。

リポジトリにリモートサーバーキー認証を提供したくないので、毎回ユーザーにメッセージを表示したいと思います。これを行う方法はありますか?

ベストアンサー1

この記事だけでは、正確に何が起こっているのかを理解するのは難しいです。 hgコマンドはパスワードプロンプトを印刷します(私はhgに精通していません)?

-tSSHにオプションを追加してください:

ssh -t [email protected] ./remote_script.sh

おすすめ記事