簡體   English   中英

使用 ssh 時如何避免為公鑰輸入密碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM