首先,ssh的数据传输是对称加密的,加密算法需要一个密钥对数据进行加密解密。
对称密钥由客户端生成,使用服务器端发送来的公钥加密(由于体系原因,这个公钥的正确性必须由客户端自行确认,于是在第一次会话时要求确认是否信任服务器发来的公钥)。之后发送给服务器。由非对称加密的原理,只有服务器使用私钥才可对对称密钥进行解密。
非对称加密的原理:公钥加密只能私钥解密,私钥加密只能公钥解密。
一、linux下ssh命令的身份认证
登陆时使用用户名密码进行登陆显然不能满足高级别的保密需求。使用密钥进行登陆不仅使远程连接更加安全而且当在两机之间建立了密钥登陆机制后就不再需要使用密码登录而更加便捷。这种验证方式是基于非对称加密实现的。具体内容不做解释。
基本方式是:
1、创建一对公钥和私钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N 'passwd'
-t指定密钥产生算法
-f指定生成文件,登陆是使用ssh命令进行的,而他的配置文件默认的私钥为家目录下.ssh/id_rsa
-N对私钥加密以防止私钥泄露后他人乱用,但这也使得以后每