Linux下SSH免密碼登入

2021-07-05 19:15:43 字數 2147 閱讀 7055

**:

ssh配置  

主機a:10.0.5.199

主機b:10.0.5.198 

需要配置主機a無密碼登入主機a,主機b

先確保所有主機的防火牆處於關閉狀態。

在主機a上執行如下:

1. $cd ~/.ssh

2. $ssh-keygen -t rsa  --------------------然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh/id_rsa檔案中。

3. $cp id_rsa.pub authorized_keys 

這步完成後,正常情況下就可以無密碼登入本機了,即ssh localhost,無需輸入密碼。

4. $scp authorized_keys

10.0.5.198:/home/summer/.ssh   ------把剛剛產生的authorized_keys檔案拷乙份到主機b上.  

5. $chmod 600 authorized_keys

進入主機b的.ssh目錄,改變authorized_keys檔案的許可許可權。

(4和5可以合成一步,執行:  $ssh-copy-id -i

[email protected] )

正常情況下上面幾步執行完成後,從主機a所在機器向主機a、主機b所在機器發起ssh連線,只有在第一次登入時需要輸入密碼,以後則不需要。

可能遇到的問題:

1.進行ssh登入時,出現:agent admitted failure to sign using the key .

執行:ssh-add  ~/.ssh/id_rsa

2.如果無任何錯誤提示,可以輸密碼登入,但就是不能無密碼登入,在被連線的主機上(如a向b發起ssh連線,則在b上)執行以下幾步:

$chmod o-w ~/

$chmod 700 ~/.ssh

$chmod 600 ~/.ssh/authorized_keys

3.錯誤資訊:ssh: connect to host localhost port 22: connection refused

是因為沒有安裝sshd並且防火牆阻止導致的

安裝ssh:          

sudo apt-get install openssh-server

啟動sshd:

sudo net start sshd

檢視ssh執行狀態:

ps -e | grep ssh

如果發現 sshd 和 ssh-agent 即表明 ssh服務基本執行正常

如果ssh**沒有開啟,直接執行下面:

ssh-agent

檢查防火牆設定、關閉防火牆

sudo ufw disable

還是不行的話,執行下面,重啟一下ssh服務

$sudo service sshd restart

注意的是:

linux系統中$home目錄下的.ssh目錄為使用者所有,許可權必須為700(只有使用者自己可以全權訪問);

.ssh目錄下的授權檔案「authorized_keys」為使用者所有,許可權 必須為600。

如果要在配置主機b到主機a的無密碼登入:

在主機b中

1. $cd ~/.ssh

2. $ssh-keygen -t rsa  --------------------然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh/id_rsa檔案中。

3. $cp id_rsa.pub b_id_rsa.pub 

4. $scp b_id_rsa.pub

10.0.5.199:/home/summer/.ssh   ------把剛剛產生的b_id_rsa.pub檔案拷乙份到主機a上.  

5. $chmod 600 authorized_keys

進入主機a的.ssh目錄,改變authorized_keys檔案的許可許可權。

6.   cat ~/.ssh/b_id_rsa.pub >> ~/.ssh/authorized_keys,注意是管道符是 >> ,即將主機b的授權碼追加到主機a的authorized_keys中

這樣就完成了主機a和主機b相互免密碼登入,以此類推完成多台主機的相互免密碼登入...

Linux下SSH免密碼登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...

Linux下SSH免密碼登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...

Linux下SSH免密碼登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...