Linux

如何為非 root 使用者設置無密碼身份驗證?

  • January 30, 2016

使用兩台 CentOS 7 伺服器,我設置了 root 使用者的無密碼身份驗證。它工作正常。我嘗試對其他本地使用者使用相同的方法(使用 .pub 和 authorized_key 文件)。但這些方法都不起作用。與這些使用者的伺服器之間的 SSH 連接仍然提示輸入密碼。

我從這個開始: ssh-keygen -t rsa

我的伺服器之一是 Jenkins。我想與其他 CentOS 7 伺服器進行建構(至少文件傳輸)。我想我需要對 jenkins 使用者進行無密碼身份驗證。我嘗試將.pub文件的內容附加到/root/.ssh/authorized_keys. 我嘗試將.pub文件的內容附加到/home/jdoe/.ssh/authorized_keys. 而不是 authorized_keys 我也試過了authorized_keys2。我希望無密碼身份驗證與 root 使用者的工作方式與其他使用者相同(只要我在生成 SSH 密鑰時不輸入密碼)。但這不是我正在經歷的。root 使用者無需密碼即可通過 SSH 進行身份驗證。非 root 使用者不會這樣做。我該怎麼辦?

您很可能會遇到權限問題。我通常會留下authorized_keys400(儘管640就足夠了)。~/.ssh應該是700id_rsa我也留著400。文件擁有的權限越少,對它們的 ssh 就越多。

如果你-v在 ssh 上使用開關,它會告訴你這個問題。/var/log/secure還會告訴你發生了什麼。

根據經驗,ssh-copy-id它將為您處理所有這些。如果您執行它然後密鑰開始工作,請在事後查看文件的權限。

引用自:https://unix.stackexchange.com/questions/258706