どのようにパスワードをsu/sudo/sshなオのTTY?
質問
書いCシェルプログラムとなってい su
または sudo
または ssh
.いしいパスワードのコンソール入力のTTYすることにより、stdinはョンをインストールして下さい。
は誰もが知っ解決するのか
設定パスワードを以下の 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、私は多くの自動化の試み/スクリプトで使用ますあるという事は、そのようなパスワードのコマンドなしの促.していて、"期待"ユーティリティが感じられるようにする目的はこのジレンマが最終的には、設定は正しい秘密鍵の承認は、正しい道のりをはじめようとする場合、自動化。
他のヒント
に書いた一部のApplescriptを促のためのパスワードを介してダイアログボックス、そしてビルドカスタムbashコマンドのようになります:
echo <password> | sudo -S <command>
くなった場合に役立っています。
いコミュニケーションを取り合sudoを受け前の暗号化パスワードが暗号化で私のスクリプトな響き渡るクリアテキストパスワードです。しかしこの作品にさせていただくことは私の状況です。
のための ssh
利用できる sshpass
: sshpass -p yourpassphrase ssh user@host
.
あなただけのダウンロードが必要なsshpass期)
$ apt-get install sshpass
$ sshpass -p 'password' ssh username@server
私には:
ssh user@host bash -c "echo mypass | sudo -S mycommand"
作品だった。
この機能は設の公開-非公開キーの対象ホストに接続する.最初のステップにするsshキーのユーザスクリプトを実行すると、ローカルホストを実行することにより、:
ssh-keygen
Enter file in which to save the key (/home/myuser/.ssh/id_rsa): <Hit enter for default>
Overwrite (y/n)? y
を入力して空白のパスワードになります。その後、ファイルをコピーしsshキーの対象のホストを接続する.
ssh-copy-id <remote_user>@<other_host>
remote_user@other_host's password: <Enter remote user's password here>
登録後のsshキーを押すと、いを行うことができるように黙 ssh remote_user@other_host
から現地ます。
通常の溶液にこの問題はsetuidingのヘルパーアプリを実行するタスクを必要とsuperuserアクセス:http://en.wikipedia.org/wiki/Setuid
須藤を網羅するものではありません使用しています。
後の編集:SSH使用できる民間-公開鍵認証を行います。合鍵のないパスフレーズ、sshを使用できなく促すためにパスワードになります。
のための須藤させることができています:
sudo -S <<< "password" command
場合もあり、選択した他、人socatです:
(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) |
socat - EXEC:'ssh -l user server',pty,setsid,ctty
EXEC’utes an ssh session to server. Uses a pty for communication
between socat and ssh, makes it ssh’s controlling tty (ctty),
and makes this pty the owner of a new process group (setsid), so
ssh accepts the password from socat.
すべてのpty,setsid,ctty複雑さの必要がない場合がございますの必要は睡眠をとる必要があります。エコー=0のオプションが行く価値があるものとしては、リモートコマンドでsshのコマンドライン。
んでご利用いただけます。 expect
コマンド?:
expect -c 'spawn ssh root@your-domain.com;expect password;send "your-password\n";interact
このコマンドにパスワードが自動的に
見 expect
linuxる。
でを送信することができ出力stdioに基づく単純なパターンマッチングstdin.
設定SSH用公開鍵認証、pasphraseの鍵となる。負荷のガイド。いパスワードの入力が必要になりログインします。その接続を制限のためのキートのホスト名.を提供して合理的な安全とは自動ログイン.
ssh -t -t me@myserver.io << EOF
echo SOMEPASSWORD | sudo -S do something
sudo do something else
exit
EOF
また、同じ問題です。ダイアログのスクリプトをディレクトリのリモートパソコン。ダイアログでsshを使用しても簡単です。使っていsshpass(既設).
dialog --inputbox "Enter IP" 8 78 2> /tmp/ip
IP=$(cat /tmp/ip)
dialog --inputbox "Please enter username" 8 78 2> /tmp/user
US=$(cat /tmp/user)
dialog --passwordbox "enter password for \"$US\" 8 78 2> /tmp/pass
PASSWORD = $(cat /tmp/pass)
sshpass -p "$PASSWORD" ssh $US@$IP mkdir -p /home/$US/TARGET-FOLDER
rm /tmp/ip
rm /tmp/user
rm /tmp/pass
ドイツからのご挨拶
タイタス
用途:
echo password | sudo command
例:
echo password | sudo apt-get update; whoami
希望します..
建@Jahidの答えは、このたっmacOS10.13:
ssh <remote_username>@<remote_server> sudo -S <<< <remote_password> cat /etc/sudoers
ご提供できるパスワードパラメータとして期待します。
echo <password> | su -c <command> <user>
ことになります。
Hardcodingパスワードに期待スクリプトと同じ有passwordless須藤実際は悪しから須藤少なくともログはその問い合わせを行う。
一つを使用した方法があり読み取り"sオプション..このようにパスワードの文字のない響きは、画面になります。書いた小さなスクリプトを利用の場合、できるだけ自分のブログ:http://www.datauniv.com/blogs/2013/02/21/a-quick-little-expect-script/
su -c "Command" < "Password"
希望です。