我有一個關於帶有一個主資料夾的無密碼 ssh 的問題。
我建立了一個公共 /home/developers 帳戶和多個使用者(developerA、developerB ...)。所有開發人員都被授予相同的主資料夾(/home/developers)。
作為開發人員 A 在他的機器上,我做了以下操作:
- ssh-keygen -t rsa -f 開發人員A -C[電子郵件受保護]
- (在伺服器上)。將 .pub 加入伺服器 /home/developers/.ssh/authorized_keys 文件
- ssh 開發人員A@myServer -i 開發人員A
我認為問題與權限有關,因為authorized_keys檔案由開發人員擁有(-rw-------- 1開發人員開發人員2033年11月11日22:55authorized_keys)
有誰能解決這個問題,或者如何在不為每個用戶創建主資料夾的情況下進行多用戶無密碼 ssh。
預先感謝大家
答案1
您只有一個使用者。所以這不是多用戶問題。確保 .ssh 目錄的模式為 700。
然而,無論如何你都做錯了。您應該為每個開發人員建立不同的使用者並將他們放在一個公共群組中。如果他們需要處理相同的文件,則可以使它們可由其共同群組寫入,並將它們放入設定了「設定群組 ID」標誌的目錄中,因此它們寫入的任何內容都將屬於該群組。
答案2
既然他這麼問,就一定有他的理由。以下是一些想法:
- 確保您的公鑰字串沒有被包裝。它應該位於authorized_keys 中的連續一行上。
- authorized_keys 的權限應為 rw-rr (644)。
- 檢查 ~/.ssh 的權限。應該是 rwx-- (700)。
- 另請確保 /etc/ssh/sshd_config 包含“PubkeyAuthentication yes”。
答案3
根據我的經驗,ssh 對於檔案和目錄權限非常講究。 authorized_keys 檔案必須是“rw-r--r--”,並且包含該檔案的.ssh 目錄也必須可供所有人存取(但不能被世界寫入)。目錄路徑它。
如果不正確,密鑰交換登入就會失敗。
麥克風
答案4
@joebob 說得對!只是更多細節(注意他的最後一行)
從這個帖子您可以看到 SSH 將拒絕使用.ssh
共用主目錄中的資料夾。就我而言,/var/log/messages
我看到:
3 月 10 日 09:57:13 sshd[32249]:身份驗證被拒絕:目錄 /home/ 的所有權或模式錯誤
參考網站對此有兩種解決方案:
修復權限
chmod g-w /home/your_user chmod 700 /home/your_user/.ssh chmod 600 /home/your_user/.ssh/authorized_keys
設定
StrictModes off
在你的/etc/ssh/ssh_config
(不建議)
不幸的是,我使用的是生產盒自動櫃員機,我無法測試任何解決方案...我也在尋找第三種選擇如果可能的話,因為由於我們的團隊設置,我無法更改主目錄權限...(壞模型 - 我知道)