如何設定SSH無密碼登入遠端Linux主機

2021-06-09 16:29:51 字數 1504 閱讀 4651

假如本地client要通過ssh登入遠端主機remotehost,遠端使用者為user。

1)本地client建立一對金鑰對,以dsa金鑰對為例

[user@client:~]$>ssh-keygen -t dsa

系統將生成一對金鑰:id_dsa(私鑰)和id_dsa.pub(公鑰),預設儲存在~/.ssh/路徑下,執行該命令過程中會提示設定passphase,用於讀取私鑰時密碼認證。敲回車將不設定密碼認證。

2)將client在本地生成的公鑰id_dsa.pub拷貝到remotehost 的使用者目錄/home/user/.ssh/路徑下

[user@client:~]$>scp ~/.ssh/id_dsa.pub  user@remotehost:~/.ssh/client.pub

為避免覆蓋遠端主機使用者自己的pub檔案,將拷貝的公鑰檔案重新命名為client.pub

3)登入到remotehost,將client.pub疊加到authorized_keys檔案中

[user@remotehost:~]$>cd .ssh

[user@remotehost:~/.ssh]$>cat client.pub >> authorized_keys

如果authorized_keys檔案不存在,將建立新檔案,client.pub的公鑰資訊將存於其中

4)修改authorized_keys檔案許可權為600

[user@remotehost:~/.ssh]$>chmod 600 authorized_keys

5)修改 .ssh 檔案許可權為700

[user@remotehost:~/.ssh]$>cd ~

[user@remotehost:~]$>chmod 700 .ssh

6)修改home目錄/home/user的許可權為700

[user@remotehost:~]$>chmod 700 /home/user

或者:[user@remotehost:~]$>chmod go-rwx /home/user

這一步比較關鍵,很多中文描述的步驟中都沒有包含這一點,導致按照上面步驟執行完之後,ssh連線時仍然要求輸入密碼認證,因為:ssh doesn't want the home directory to be too open! 所以還需要執行上面的步驟。

7)另外還有一點,如果執行完上面的步驟後還不work,可以check一下 .ssh的owner是不是user,使用者組usergroup是不是user所屬的group(假設為users),否則的話可以通過下面的命令設定:

[user@remotehost:~]$>chown -r user:users .ssh/

按順序執行完上面的步驟後,ssh連線remotehost就可以不必輸入密碼就能認證了!

設定ssh無密碼登入

分類 linux ssh無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對。舉例 有機器pc a 172.0.246 pc b 172.0.1.140 現想a通過ssh免密碼登入到b。1.在pc a主機下生成公鑰 私鑰對 comodo pc a ssh keygen...

如何實現 ssh 無密碼登入

假設你是hosta上的乙個使用者 alicea 想以使用者 aliceb 的身份ssh到hostb上,但又不想輸入密碼。那麼,你可以參考這篇教程實現ssh無密碼登入。首先,你需要以使用者 alicea 的身份登入到hosta上。然後,使用ssh keygen生成一對rsa公私鑰,生成的金鑰對會存放在...

ssh連線遠端伺服器設定無密碼登入

1.保證有git,git生成的公鑰和私鑰 2.使用ssh copy id命令將公鑰上傳到你的伺服器 ssh copy id username remote server 3.在你的 ssh目錄下新增config檔案,我設定的快捷暱稱為susu,您可以酌情替換,內容如下 host susu hostn...