SSH
不像 HTTPS 协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。 SSH 以非对称加密实现身份验证。身份验证有多种途径,例如其中一种方法是使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录;另一种方法是人工生成一对公钥和私钥,通过生成的密钥进行认证,这样就可以在不输入密码的情况下登录。任何人都可以自行生成密钥。公钥需要放在待访问的电脑之中,而对应的私钥需要由用户自行保管。认证过程基于生成出来的私钥,但整个认证过程中私钥本身不会传输到网络中,而很多人搞不懂公私钥的原理
非对称加密算法
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多
A电脑远程登陆 B电脑
ssh root@B_ip
实现免密登陆
生成公私钥匙
ssh-keygen -N '' -f /root/.ssh/id_rsa ###生成id_rsa公私钥
ssh-copy-id B_ip
ssh root@B_ip ### 实现免密登陆
A电脑执行 ssh-keygen -N ’ ’ -f /root/.ssh/id_rsa 生成 id_rsa私钥 和id_rsa.pub公钥
ssh-copy-id 命令的本质是将自己的公钥id_rsa.pub的内容打进 免密登陆电脑的authorized_keys授权钥匙里
ssh-copy-id B_ip 等于
scp /root/.ssh/id_rsa.pub B_ip:/root/.ssh/authorized_keys

本质上来说id_rsa.pub就是锁 id_rsa是钥匙,A将自己的锁扔给B 下次登陆B时用自己的钥匙打开自己存放在B的锁,实现免密登陆.

所以只要B的authorized_keys一直存着A的锁,A将私钥传给C,C同样能够免密登陆B由此实现多台linux系统免密登陆,但是为了安全一般企业服务器都是公私钥+密码一起使用登陆
scp A:/root/.ssh/id_rsa B:/root/.ssh/id_rsa
C ssh B