0

何らかの理由で、すべてのコマンドを実行するために「setsid」を使用する必要があります。

しかし、「setsid scp ~/aaa user1@10.170.3.17:/tmp/」を実行すると、パスワードを要求するダイアログ ボックスが表示されました。通常、プロンプトはコマンドラインで発生します。

sshの設定が原因ですか?ボックスをなくしたい。それを達成する方法は?

4

1 に答える 1

5

このコマンドの効果の 1 つは、setsidsetsid(1) によって開始されたプロセスが、その制御端末から切り離されることです。端末を制御scpしないと、何も「見えない」という理由だけで、起動元の端末でパスワードを要求できません。ただし、「見える」のは、認証に使用される秘密 SSH キーのロックを解除するために必要なパスワードまたはパスフレーズを求めるグラフィカルユーティリティを表示できる X11 ウィンドウセッションがあることを示す環境変数です。リモートシステム。

「認識」し、x11-ssh-askpassダイアログを画面にルーティングするために使用する環境変数の設定を解除したとしても ( DISPLAY)、必要なキーが欠落し、scp 操作が失敗するため、目的の効果が得られない可能性があります。

ここで私がお勧めする解決策の 1 つは、パスワードで保護されない「ID キー」を生成するために ssh-keygen(1) を使用して、「パスワードなし」ログインを設定することです (特定のセキュリティ環境で該当する場合)。

ファイルやコマンド ライン オプションでパスフレーズを提供するなど、他の可能性を検討することもできます。ssh(1) マンページの ENVIRONMENT セクションを見てください。

于 2012-10-28T14:06:02.427 に答える