機器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...