ssh主要是用RSA进行加密的,RSA是非对称的,什么是非对称,就是你加密的密钥和解密的密钥用的不是同一个密钥,用RSA就必须用到两个密钥一个叫公钥(加密用),一个叫私钥(解密用)。
- 客户端用户和服务器大致的通信过程
客户端[客户端的私钥,解 密]<--------------服务器[客户端给的公钥,加密]
客户端[服务器给的公钥,加密]-------------->服务器[服务器的私钥,加 密] - 第一次连接
请求 客户端[公/私钥]----------------->服务器[公/私钥] 服务器公钥 客户端[公/私钥]<-----------------服务器[公/私钥] 客户端公钥 客户端[公/私钥]------------------>服务器[公/私钥]
- 客户端公/私钥一般存放的位置:
私钥 ~/.ssh/目录
公钥 ~/.ssh/know_hosts/目录
- 服务器公/私钥一般存放的位置:
/etc/ssh/ssh_host* - 自动授权登录:把公钥加到authorized_keys文件(默认是该文件,如果sshd_config的AuthorizedFile有指定其他的就把其加到对应的文件就行)