注意:如果a機器需要免密碼登入b機器,則需要把a機器的公鑰id_rsa.pub 加到 b機器的authorized_keys
,不要弄反了
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 rsa
不用輸入任何東西,回車三次
它在/root下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。
2.把a機下的id_rsa.pub複製到b機下,在b機的.ssh/authorized_keys檔案裡,我用scp複製。
[chenlb@a ~]$ scp .ssh/id_rsa.pub [email protected]:/home/chenlb/id_rsa.pub
' s password:
id_rsa.pub 100% 223 0.2kb/s 00:00
由於還沒有免密碼登入的,所以要輸入密碼。
3.b機把從a機複製的id_rsa.pub新增到/root/.ssh/authorzied_keys檔案裡。
[chenlb@b ~]$ cat id_rsa.pub >> /root/.ssh/authorized_keys
[chenlb@b ~]$ chmod 600 /root/.ssh/authorized_keys
注意:authorzied_keys是檔案,不是目錄,把a機的公鑰
id_rsa.pub的內容追加到b機的/root/.ssh/authorized_keys檔案中。authorized_keys的許可權要是600,不能是777及其他
。4.a機登入b機。
[chenlb@a ~]$ ssh 192.168.1.181
the authenticity of host
' 192.168.1.181 (192.168.1.181)
' can
' t be established.
rsa key fingerprint
is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
are you sure you want to
continue connecting (yes/no)? yes
warning: permanently added
' 192.168.1.181
' (rsa) to the list of known hosts.
last login: thu jul 3 09:53:18 2008
from chenlb
[chenlb@b ~]$
第一次登入是時要你輸入yes。
現在a機可以無密碼登入b機了。
特別要注意檔案許可權,問題,不然會出現各種問題,導致無法免密碼登入。
(1)root 目錄許可權
(2).ssh目錄許可權
(3)公鑰私鑰許可權
小結:登入的機子可有私鑰,被登入的機子要有登入機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。上面是用rsa演算法的公鑰/私鑰對,當然也可以用dsa(對應的檔案是id_dsa,id_dsa.pub)
想讓a,b機無密碼互登入,那b機以上面同樣的方式配置即可。
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...
ssh 免密碼登入
ssh 免密碼登入 ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh k...
ssh免密碼登入
實現原理 主機a 產生公鑰和金鑰,將主機a的公鑰傳送到主機b 主機b 接收主機a傳送的公鑰 主機a ssh請求登入到主機b 主機b 傳送給主機a一串字元 主機a 收到主機b傳送的字元,使用金鑰進行加密,並傳送回到主機b 主機b 接收到主機a使用金鑰加密後的字元,使用主機a的公鑰執行一定演算法進行對比...