本文共 687 字,大约阅读时间需要 2 分钟。
SSH免秘钥登录 就是避免了主机之间ssh需要输用户名和密码这一步。
先理解三个名称 公钥(id_dsa.pub)、私钥(id_dsa)、授权列表文件(authorized_keys)
实现方法:以A B两台机器为例
1. AB两台机器分别生成各自的公钥(id_dsa.pub)+私钥(id_dsa)
使用ssh-keygen命令,rsa|dsa两种加密方法,任意选一个。
# ssh-keygen -t dsa 然后全部默认回车;在 ~/.ssh目录下查看生成了 id_dsa.pub+id_dsa
2.将A的公钥内容添加到B机器的授权列表文件(authorized_keys)
id_dsa.pub 拷贝到B机器的 ~/.ssh/authorized_keys中 (内容重定向追加到文件中)
---两步就可以实现A机器ssh免秘钥登录B机器啦
3.将B的公钥内容添加到A机器的授权列表文件(authorized_keys)
---三步就可以实现AB机器ssh免秘钥互相登录啦
登录原理过程:以A机器ssh登录B机器为例。
1.A向B发送登录请求
2.B 在自己的授权列表中查看是否有A的公钥;没有则拒绝A登录
3.B中有A公钥,则B随机生成一个字符串,并用A的公钥进行加密,发送给A
4.A 收到加密后的字符串,用自己的私钥进行解密,得到原始字符串,返回给B
5.B 对比字符串,如果一致就授权A登录。 A登录B 成功。
-----------------------有兴趣可以自行了解下列名词。
对称加密 / 非对称加密 、dsa / rsa 、known_hosts
转载地址:http://woksi.baihongyu.com/