在建立信任关系之前先看看基于公钥、私钥的加密和认证.
私钥签名过程
消息-->[私钥]-->签名-->[公钥]-->认证
私钥数字签名,公钥验证
- Alice生成公钥和私钥,并将公钥发送给Bob。
- Alice用自己的私钥生成签名,也就是加密。
- Alice将签名的信息发送给Bob。
- Bob用Alice的公钥进行解密,验证签名真伪。
公钥加密过程
消息-->[公钥]-->签名后的消息-->私钥-->解密后的消息
公钥加密,私钥解密
- Bob生成自己的公钥和私钥,并将公钥发送给Alice。
- Alice用Bob的公钥对信息进行加密。
- Alice将加密后的信息发送给Bob。
- 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即可。