Linux
如何為非 root 使用者設置無密碼身份驗證?
使用兩台 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_keys
來400
(儘管640
就足夠了)。~/.ssh
應該是700
。id_rsa
我也留著400
。文件擁有的權限越少,對它們的 ssh 就越多。如果你
-v
在 ssh 上使用開關,它會告訴你這個問題。/var/log/secure
還會告訴你發生了什麼。根據經驗,
ssh-copy-id
它將為您處理所有這些。如果您執行它然後密鑰開始工作,請在事後查看文件的權限。