介绍
SSH是Secure Shell Protocol的简写,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。
- SSH是安全的加密协议,用于远程连接linux服务器。
- SSH默认端口是22,安全协议版本SSHv2,除了2之外还有SSHv1(有漏洞)。
- SSH服务端主要包含两个服务功能SSH远程连接和SFTP服务。
- Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。
非对称加密
ssh之所以安全,在于其基于公私钥的非对称加密方式。
- 先将Client生成公钥添加到remotehost中的~/.ssh/authorized文件中。
- 建立远程链接,将client的公钥发送给remotehost,remotehost在~/.ssh/authorized文件中寻找你的公钥进行匹配,当匹配成功后,remotehost生成一个用公钥加密的随机数并将这个随机数发送给Client。
- Client接收到公钥加密的随机数后,利用自己的相匹配的私钥进行解密。(如果你在生成密钥时给密钥加了密码,你需要在选择密钥解密时输入密码)解密成功后将解密后的随机数返回给remotehost,这时remotehost进行判断是否与自己生成的随机数相同,如果相同链接建立成功。