SSH免密碼登入設定

2021-08-27 19:50:55 字數 2250 閱讀 6070

機器a: 192.168.8.4

機器b: 192.168.8.5

實現在機器a上的使用者usera1可以通過ssh免密碼以機器b上的userb1身份登入到機器b

1,在機器a上建立使用者usera1:useradd usera1

在機器a對使用者usera1生成公鑰/私鑰對,以usera1登入

ssh-keygen -t rsa -p ''

上面這個命令會在/home/usera1/.ssh目錄下生成私鑰檔案id_rsa和公鑰檔案id_rsa.pub

2,在機器b上建立使用者userb1: useradd userb1

3,將使用者usera1的公鑰的內容新增到機器b的使用者userb1的家目錄的.ssh目錄下的authorized_keys檔案中

cat ~/.ssh/id_rsa.pub | ssh -p 22 [email protected] 'cat >> ~/.ssh/authorized_keys'

4,在機器a上,以usera1的身份執行下面的命令,則不需要密碼可以以userb1登入機器b

[usera1@srv4 ~]$ ssh [email protected]

last login: thu dec 4 22:13:36 2014 from 192.168.8.4

[userb1@srv5 ~]$

ssh免密碼的原理:

usera1向機器b發出請求以userb1登入,usera1將自己的公鑰傳送過去作為驗證。

機器b收到請求後,在userb1的家目錄下的/.ssh/authorized_keys檢視是否和裡面儲存的公鑰一致。

如果是一致的,機器b用公鑰加密乙個token傳送給機器a,機器a用usera1的私鑰解密再把它傳送給伺服器。

因為用usera1的公鑰加密的內容只能用usera1的私鑰解密,這樣就驗證了usera1的身份。

如果在機器b上還要另外兩個使用者userb2和userb3,

做如下的實驗:

cat ~/.ssh/id_rsa.pub | ssh -p 22 [email protected] 'cat >> ~/.ssh/authorized_keys'

在userb2的authorized_keys中新增usera1的公鑰,那麼usera1同樣可以免密碼以userb2的身份登入機器b。

[usera1@srv4 ~]$ ssh [email protected]

last login: thu dec 4 22:46:48 2014 from 192.168.8.4

[userb2@srv5 ~]$

在userb3的authorized_keys中沒有usera1的公鑰,那麼usera1以userb3的身份登入機器b時需要提供密碼。

[usera1@srv4 ~]$ ssh [email protected]

[email protected]'s password:

如果在機器a上還要另外乙個使用者usera2,沒有為usera2做上述的免密碼設定。

usera2的已userb1的身份做ssh登入機器b,則需要提供密碼。

[usera2@srv4 ~]$ ssh [email protected]

[email protected]'s password:

如果在機器a上還要另外乙個使用者usera3,為usera3配置了免密碼以userb1登入機器b。

ssh-keygen -t rsa -p ''

cat ~/.ssh/id_rsa.pub | ssh -p 22 [email protected] 'cat >> ~/.ssh/authorized_keys'

usera3以userb1的身份做ssh登入機器b,則不需要提供密碼。

[usera3@srv4 ~]$ ssh [email protected]

last login: thu dec 4 23:54:43 2014 from 192.168.8.4

[userb1@srv5 ~]$

隨便說一下windows下遠端訪問,在windows中使用\\ip\c$的方式訪問另外一台機器的c盤的時候,認證方式為,首先將本機的當前登入用

戶名和密碼發給要登入的目的機器進行驗證,比如當前登入為: administrator/pwd123,而正好要登入的目標機器也有同樣賬號同樣密碼,

那麼就直接登入了.

SSH免密碼登入設定

我們使用ssh keygen在servera上生成 private和public金鑰 將生成的public金鑰拷貝到遠端機器serverb上後,就可以使用ssh命令無需密碼登入到另外一台機器serverb上。ssh keygen t rsa 連續三次回車,即在本地生成了公鑰和私鑰,不設定密碼 生成的...

hadoop設定ssh免密碼登入

對於需要遠端管理其它機器,一般使用遠端桌面或者telnet。linux一般只能是telnet。但是telnet的缺點是通訊不加密,存在不安全因素,只適合內網訪問。為 解決這個問題,推出了通訊加密通訊協議,即ssh secure shell 使用非對稱加密方式,傳輸內容使用rsa或者dsa加密,可以避...

ssh 免密碼登入

ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh keygen t rs...