
如果只為 root 使用者設定 ssh-keygen -t rsa 是否有效
即,如果本機系統上的使用者名稱是鈉並且我使用上述命令產生金鑰,並且在遠端系統上如果我將金鑰放在 /root/.sshauthorized_keys 中,則此方法有效。
但在遠端系統上,如果金鑰放置在 /home/natrium/.sshauthorized_keys 中
這仍然提示輸入密碼。
謝謝..
答案1
檢查遠端系統的權限:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
有一個可以安裝在您的 dist 中的工具(ubuntu/debian 有),名稱為:ssh 複製 ID這將為你做到這一點:
$ ssh-copy-id <remote>
如果這不起作用,請嘗試使用 ssh 選項“-v”來查看更詳細的訊息。
長版:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
答案2
檢查從 ~sodium/.ssh/authorized_keys 一直到 / 的權限。如果其中任何一個是世界上可寫入的 ssh 密鑰將不被信任。
以您需要金鑰的使用者身分執行 ssh-keygen。它應該在您要連接的系統上運行。
ssh-copy-id 會將 ids 從目標電腦複製到您要使用金鑰的電腦。
答案3
答案4
產生密鑰的位置並不重要,重要的是儲存密鑰的位置。
如果您想要從一台計算機透過SSH 傳輸到另一台計算機,則私鑰需要位於您作為id_rsa 進行SSH 操作的帳戶的.ssh 資料夾中,而公鑰必須位於您帳戶的.ssh/authorized_keys 檔案中。密鑰是供使用者使用的,而不是供機器使用的。因此,您安裝它們的帳戶會產生很大的差異。
另一件需要記住的事情是您正在使用的 SSH 版本,據我了解,對於 SSH2,金鑰應該位於 .ssh/authorized_keys2 中。
最後,要真正了解發生了什麼,最好遵循 Lexsys 的說明並使用 -v 標誌以詳細模式進行 ssh。