Untuk sudo ada opsi -S untuk menerima kata sandi dari input standar. Ini entri pria:
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device.
Ini akan memungkinkan Anda untuk menjalankan perintah seperti:
echo myPassword | sudo -S ls /tmp
Sedangkan untuk ssh, saya telah melakukan banyak upaya untuk mengotomatiskan/skrip penggunaannya tanpa hasil. Sepertinya tidak ada cara bawaan untuk memasukkan kata sandi ke dalam perintah tanpa diminta. Seperti yang telah disebutkan orang lain, utilitas "berharap" sepertinya ditujukan untuk mengatasi dilema ini, tetapi pada akhirnya, menyiapkan otorisasi kunci pribadi yang benar adalah cara yang tepat untuk dilakukan saat mencoba mengotomatiskan ini.
Saya menulis beberapa Applescript yang meminta kata sandi melalui kotak dialog dan kemudian membuat perintah bash khusus, seperti ini:
echo <password> | sudo -S <command>
Saya tidak yakin apakah ini membantu.
Alangkah baiknya jika sudo menerima kata sandi yang sudah dienkripsi sebelumnya, jadi saya bisa mengenkripsinya di dalam skrip saya dan tidak khawatir tentang gema kata sandi teks yang jelas. Namun ini bekerja untuk saya dan situasi saya.
Untuk sudo, Anda juga dapat melakukannya:
sudo -S <<< "password" command
Untuk ssh
Anda dapat menggunakan sshpass
:sshpass -p yourpassphrase ssh [email protected]
.
Anda hanya perlu mengunduh sshpass terlebih dahulu :)
$ apt-get install sshpass
$ sshpass -p 'password' ssh [email protected]