ssh免密碼登錄機器(使用公鑰和秘鑰進行加密來實現)


ssh 無密碼登錄要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以CentOS為例。

登錄的原理:

 

 

 

有機器A(192.168.1.155),B(192.168.1.181)。現想A通過ssh免密碼登錄到B。
首先以root賬戶登陸為例。

1.首先我們需要在A機器上生成一對公鑰和密鑰對,生成的方法如下:

1 [root@A ~]# ssh-keygen -t rsa -P ''

-P表示密碼,-P '' 就表示空密碼,也可以不用-P參數,這樣就要三車回車,用-P就一次回車。
該命令將在/root/.ssh目錄下面產生一對密鑰id_rsa和id_rsa.pub。

一般采用的ssh的rsa密鑰:
id_rsa     私鑰
id_rsa.pub 公鑰
下述命令產生不同類型的密鑰
ssh-keygen -t dsa
ssh-keygen -t rsa
ssh-keygen -t rsa1

在這里我們采用的是rsa來生成這個密鑰對

2.把A機下的/root/.ssh/id_rsa.pub 復制到B機的家目錄下面,,具體的命令操作步驟如下:

1 ssh-copy-id -i .ssh/id_rsa.pub shangzekai@10.140.112.40
2 Now try logging into the machine, with "ssh 'shangzekai@10.140.112.40'", and check in:
3 
4   .ssh/authorized_keys
5 
6 to make sure we haven't added extra keys that you weren't expecting.

使用如上述的命令,我們可以直接將A機器上的公鑰拷貝到目標登錄機上面,實際上是復制到了 /root/.ssh/authorized_keys文件里,其實我們也可以直接使用scp來進行拷貝,但要注意的是保證權限能夠訪問

注意:第一需要輸入密碼來進行拷貝

3.完成之后,我們免密碼登錄到目標機上面:

1 [shangzekai@node100v ~]$ ssh 'shangzekai@10.140.112.40'                         
2 Last login: Tue Aug 30 11:42:01 2016 from 10.16.59.100
3 [shangzekai@node442v ~]$ 

這樣的話我們就完成了免密碼登錄的整個過程。

需要注意的是,我們在拷貝和登錄的時候,兩邊的用戶都必須是相同的一個人


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM