[英]How to avoid typing passphrase for public key when using ssh
如果我想使用密碼,我可以這樣做:
`sshpass -f <(printf '%s\n' your_password) ssh user@hostname`
但是 sshpass 似乎不適用於公鑰。 我嘗試了以下命令,但失敗了:
`sshpass -f <(printf '%s\n' your_passphrase) ssh -o PreferredAuthentications=publickey user@hostname`
有什么好的辦法嗎?
您可以使用sshpass
選項-P
來檢測密碼提示:
sshpass -Ppassphrase -f <(printf '%s\n' your_passphrase) ssh -o PreferredAuthentications=publickey user@hostname
你sshpass
為什么要使用sshpass
來放入公鑰?
如果您想在交互式情況下使用沒有密碼提示的公鑰,只需使用ssh 代理。 至少在 Ubuntu 上,它默認運行。 您所要做的就是添加您想要的密鑰並輸入一次密碼。
如果您想通過腳本執行此操作,只需創建密鑰的未加密版本。 它與使用sshpass
一樣安全(如果不是更安全),並且省去了使用其他程序的麻煩。
就個人而言,我從頭開始編寫了幾個開源項目。 在獲得一些人氣的四個左右中,沒有比sshpass
更讓我驚訝的了。 這是一天的工作,旨在解決特定的極端情況。 我知道它比我最初預期的要有用得多,但是如果可以選擇公鑰身份驗證,我真的看不到任何使用它有意義的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.