キーボードなしで端末のパスワードフィールドにパスワードを入力します。

キーボードなしで端末のパスワードフィールドにパスワードを入力します。

テストのために、マイコンピュータに複数の一時アカウントがあり、頻繁に切り替えます。そのうちの1つはtest、もう1つはと仮定しますtest1。私は仕事中でtest行かなければなりませんtest1。通常、パスワードを要求するフィールドをsu - test1返します。次にパスワードを入力してをクリックします。変数にパスワードを保存し、コマンドを使用してフィールドをエスケープする方法はありますか?Password:test1EnterpasssuPassword:

メモ:私はsuそれを使用し、パスワードを変数に保存することに関連するセキュリティリスクがあることを知っています。一時アカウントだから気にしない

答え1

suこれはisatty(3)、STDINが実際にTTYを参照していることを確認するために行われます。

suしたがって、STDINを介してパスワードを渡すために変数を使用することはできません。

答え2

だから私は読んだ。ヒムメル答えてとても欲求不満を感じました。それから気づいたウリヒ・シュワルツおすすめですssh。読んsshで偶然という項目を見つけましたsshpass。パスワードが必要で、sshコマンドへの入力を提供します。私は脆弱性文書/manページに移動します。

私の問題に対する解決策:my passwordfor 仮定すると、test1 1tset私の質問に対するコマンドは次のようになります。sshpass -p '1tset' ssh test1@host

関連情報