要實現免密登入Linux伺服器,你需要將本機的SSH公鑰新增到伺服器的~/.ssh/authorized_keys
檔案中。以下是具體步驟:
-
生成SSH金鑰對(如果尚未生成):
如果你還沒有SSH金鑰對,可以使用ssh-keygen
命令生成。例如,執行ssh-keygen -t rsa
來生成RSA型別的金鑰對。按照提示操作,通常可以直接按Enter鍵接受預設設定。 -
複製公鑰到伺服器:
將你的公鑰(通常是~/.ssh/id_rsa.pub
檔案中的內容)複製到你想免密登入的Linux伺服器的對應使用者家目錄下的.ssh/authorized_keys
檔案中。你可以使用ssh-copy-id
命令或者手動複製貼上。-
使用
ssh-copy-id
(推薦方式):bashssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host 將
username
替換為伺服器的使用者名稱,remote_host
替換為伺服器的地址。 -
手動複製:
首先,使用scp
或者其他方式將你的公鑰檔案複製到伺服器上,然後登入到伺服器,將公鑰內容追加到~/.ssh/authorized_keys
檔案中。如果檔案不存在,你需要建立它。bashcat id_rsa.pub >> ~/.ssh/authorized_keys
-
-
設定檔案和目錄許可權:
確保伺服器上的~/.ssh
目錄許可權設定為700(即僅允許使用者自己讀寫執行),authorized_keys
檔案許可權設定為600(即僅允許使用者自己讀寫)。這可以透過以下命令實現:bashchmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys -
測試免密登入:
現在,你應該能夠從你的本機免密登入到Linux伺服器了。使用SSH命令進行測試:bashssh username@remote_host 如果一切順利,你將不會收到輸入密碼的提示,而是直接登入到伺服器。
請注意,為了安全起見,確保你的私鑰檔案(id_rsa
)保持私密,不要洩露給他人或在公共場所存放。