萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux取消SSH登錄密碼的方法

Linux取消SSH登錄密碼的方法

  有時我們想要通過其他的賬戶進行登錄SSH,通常我們在登錄的時候需要重新輸入密碼。不過對於一些不想記太多密碼的用戶來說,這樣就顯得有些麻煩了,那麼該怎麼才能不輸入密碼進行登錄呢?

Linux取消SSH登錄密碼的方法

  解決方法:

  1. 你需要以用戶“aliceA”的身份登錄到hostA上。

  2. 使用ssh-keygen生成一對rsa公私鑰,生成的密鑰對會存放在~/.ssh目錄下。

  $ ssh-keygen -t rsa

  3. 使用下面的命令在目標主機hostB上的aliceB用戶目錄下創建~/.ssh目錄。如果在aliceB@hostB上已經存在.ssh目錄,這一步會被略過。

  $ ssh aliceB@hostB mkdir -p .ssh

  4. 將hostA上用戶“aliceA”的公鑰拷貝到aliceB@hostB上,來實現無密碼ssh。

  $ cat .ssh/id_rsa.pub | ssh aliceB@hostB ‘cat 》》 .ssh/authorized_keys’

  自此以後,從aliceA@hostA上ssh到aliceB@hostB上再也不需要輸入密碼。(小編譯注:上述的創建目錄並復制的操作也可以通過一個 ssh-copy-id 命令一步完成:ssh-copy-id -i ~/.ssh/id_rsa.pub aliceB@hostB)

  疑難解答

  1. 即使在密鑰認證生效後,你可能仍然需要輸入SSH密碼。如果遇到這種情況,請檢查系統日志(如/var/log/secure)以查看是否出現下面的異常。

  Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys

  在這種情況下,密鑰認證的失敗是由於~/.ssh/authorized_keys文件的權限或擁有者不正確。一般情況,如果這個文件對除了你之外的所有用戶都可讀,就會出現這個錯誤。用下面的方式改變文件的權限以修正錯誤。

  $ chmod 700 ~/.ssh/authorized_keys

  以上就是設置Linux系統中不輸入密碼登錄SSH服務器的方法了。有遇到這種情況的用戶,就按照上面的方法進行設置吧。

copyright © 萬盛學電腦網 all rights reserved