举例:有机器PC_A(172.0.246),PC_B(172.0.1.140)。现想A通过ssh免密码登录到B。

1.在PC_A主机下生成公钥/私钥对

[comodo@PC_A ~]$ ssh-keygen -t rsa -P ''


-t表示key的类型,rsa表示key类型 -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。运行完之后在/home/comodo/.ssh目录下生成私钥id_rsa和公钥id_rsa.pub

2.将PC_A主机下的公钥id_rsa.pub复制到PC_B机下

[comodo@PC_A ~]$ scp id_rsa.pub root@172.0.1.140:/home/comodo/id_rsa.pub

3.将PC_B主机上的公钥添加到/home/comodo/.ssh/authorzied_keys之中

[comodo@PC_B ~]$ cat id_rsa.pub >>/home/comodo/.ssh/authorized_keys
[comodo@PC_B ~]$ chmod 600 /home/comodo/.ssh/authorized_keys 

4.从PC_A机登录PC_B机

[comodo@PC_A ~]$ ssh 172.0.1.140
Last login: Fri Oct 12 10:37:30 2012 from 172-0-1-246.lightspeed.brhmal.sbcglobal.net

如果也希望从PC_B主机无密码登录PC_A主机,只需对PC_B主机做相同的操作。

 

注:

  1:ssh-keygen 会生成 两个文件 id_rsa.pub和id_rsa

  2:authorized_keys文件用来存外来机器的公钥(如果没有可以手动创建)

  3:当使用ssh免密码登录时会自动生成一个known_hosts文件,如登录出现问题时需要删除此文件

  4:如果.ssh文件夹是手动创建 chmod 0700 .ssh

 

补:以下方法

 

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

 

posted on 2016-11-16 14:43  网络终结者  阅读(1605)  评论(0编辑  收藏  举报