ssh-keygen 僅適用於 root?

ssh-keygen 僅適用於 root?

如果只為 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

嘗試這個:

ssh -v [email protected]

可能您正在嘗試以 身分登入 Remote4 系統sodium,但您安裝了 的金鑰natrium

答案4

產生密鑰的位置並不重要,重要的是儲存密鑰的位置。

如果您想要從一台計算機透過SSH 傳輸到另一台計算機,則私鑰需要位於您作為id_rsa 進行SSH 操作的帳戶的.ssh 資料夾中,而公鑰必須位於您帳戶的.ssh/authorized_keys 檔案中。密鑰是供使用者使用的,而不是供機器使用的。因此,您安裝它們的帳戶會產生很大的差異。

另一件需要記住的事情是您正在使用的 SSH 版本,據我了解,對於 SSH2,金鑰應該位於 .ssh/authorized_keys2 中。

最後,要真正了解發生了什麼,最好遵循 Lexsys 的說明並使用 -v 標誌以詳細模式進行 ssh。

相關內容