GNU/Linux >> Linux の 問題 >  >> Linux

TTY をオーバーライドせずに su/sudo/ssh にパスワードを渡す方法は?

sudo には、標準入力からパスワードを受け入れるための -S オプションがあります。男性のエントリは次のとおりです:

    -S          The -S (stdin) option causes sudo to read the password from
                the standard input instead of the terminal device.

これにより、次のようなコマンドを実行できます:

echo myPassword | sudo -S ls /tmp

sshに関しては、その使用法を自動化/スクリプト化しようと何度も試みましたが、成功しませんでした。プロンプトを表示せずにパスワードをコマンドに渡す組み込みの方法はないようです。他の人が言及したように、「expect」ユーティリティはこのジレンマに対処することを目的としているように見えますが、最終的には、これを自動化しようとするときに正しい秘密鍵認証を設定することが正しい方法です.


ダイアログ ボックスでパスワードの入力を求める Applescript を作成し、次のようにカスタム bash コマンドを作成しました。

echo <password> | sudo -S <command>

これが役立つかどうかはわかりません。

sudo が事前に暗号化されたパスワードを受け入れれば、スクリプト内でパスワードを暗号化でき、クリア テキストのパスワードが周囲にエコーされることを心配する必要がなくなります。ただし、これは私と私の状況では機能します。


sudo の場合、これも実行できます:

sudo -S <<< "password" command

ssh の場合 sshpass を使用できます :sshpass -p yourpassphrase ssh [email protected] .

最初に sshpass をダウンロードするだけです :)

$ apt-get install sshpass
$ sshpass -p 'password' ssh [email protected]

Linux
  1. パスワードなしでSSHログインを設定する方法

  2. sudoにパスワードを長く覚えさせる方法

  3. Ssh –パスワードなしでSudoを実行できる場合、Sudoを実行するにはTtyが必要ですか?

  1. UNIX / Linux で SSH を使用して Rsync をセットアップする方法 (パスワードなしの rsync)

  2. コマンドラインでSVNにSSHパスワードを提供するにはどうすればよいですか?

  3. パスワードなしでsshコマンドをsudoコマンドをリモートで実行する方法

  1. Ansible:パスワードなしの sudo

  2. sudo に root パスワードを要求させるにはどうすればよいですか?

  3. UNIX / Linux で SSH を使用してパスワードなしで Rsync をセットアップする方法は?