代码改变世界

ssh两台机器建立信任关系无密码登陆

2016-02-19 13:24  youxin  阅读(553)  评论(0编辑  收藏  举报

在建立信任关系之前先看看基于公钥、私钥的加密和认证.

私钥签名过程

消息-->[私钥]-->签名-->[公钥]-->认证
私钥数字签名,公钥验证
  1. Alice生成公钥和私钥,并将公钥发送给Bob。
  2. Alice用自己的私钥生成签名,也就是加密。
  3. Alice将签名的信息发送给Bob。
  4. Bob用Alice的公钥进行解密,验证签名真伪。 

公钥加密过程

消息-->[公钥]-->签名后的消息-->私钥-->解密后的消息
公钥加密,私钥解密
    1. Bob生成自己的公钥和私钥,并将公钥发送给Alice。
    2. Alice用Bob的公钥对信息进行加密。
    3. Alice将加密后的信息发送给Bob。
    4. Bob用他的私钥进行解密,得到Alice发送的信息。 
       

建立主机之间的信任关系

了解了上面公钥和私钥的知识,现在我们来在两个主机之间建立信任关系,

ssh-keygen -t rsa #执行完之后会在家目录下的.ssh文件夹下生成id_rsa、id_rsa.pub两个文件,后者是公钥。

scp .ssh/id_rsa.pub  user1@192.168.1.101:/home/user1/

(

 将生成的id_rsa.pub文件复制到B服务器上(注意文件的位置为/root/.ssh,如果是其他用户应该是/home/user/.ssh,即为当前用户的主目录)

)

在另一台机器上

cd /home/user1

cat id_rsa.pub >> .ssh/authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

测试是否成功:

ssh root@192.168.1.2   

如果指定端口加-p 端口号。

退出终端,输入exit即可。