1.生成秘钥对
ssh-keygen -t rsa
回车
2.将公钥复制到主机B
ssh-copy-id -p 22 -i ~/.ssh/id_rsa.pub test@192.168.11.2
# 然后会让输入密码
这时候登录主机B,会发现在/home/test/.ssh/目录下多个文件authorized_keys。这个时候A已经可以免密登录到B了
这一步也可以使用scp命令将id_rsa.pub拷贝过来,然后将id_rsa.pub的内容吧追加到/home/test/.ssh/authorized_keys
cat id_rsa.pub >> /home/test/.ssh/authorized_keys
id_rsa:私钥
id_rsa.pub:公钥
所谓公钥登陆,就是用户把自己的公钥存储在远程主机上,用户登陆远程主机的时候,远程主机会向用户主机发送一段随机的字符串,用户主机后,用自己的私钥加密,然后发给远程主机,远程主机使用之前存储的用户主机的公钥进行解密,如果解密成功,就证明用户主机是可信的,可以直接登陆,不需要输入密码
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:
1. 一个公钥对应一个私钥。
2. 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
3. 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
4. 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。