1. 介绍
1) 安全管理远程服务器的协议和工具集,使用加密技术保证用户终端和远程服务器建立加密安全连接,双方通过握手验证并通过加密通道传递管理命令和执行结果。
2) SSH数据传输过程基本都是使用对称加密,只有刚开始建立连接和身份认证握手阶段使用非对称加密。
2. 工作原理
1) 通过客户端/服务器(CS)模式进行双方认证并彼此加密传输数据。
2) 服务器负责协商安全连接,验证客户端,并在完成认证后,初始化shell环境。
3) 客户端负责与服务器的初次TCP握手,协商安全连接,验证服务器,并提供身份验证密码(密钥)。
3. SSH算法
1) 可逆的对称加密--共享密钥加密/密钥加密。
a. 使用同一个密钥加密、解密。
b. 客户端和服务器通过协商一致的算法生成密钥,并通过可信通道进行“密钥交换”,然后共享某些公共数据和结合自己的隐秘数据通过算法生成“共享密钥”。
c. 常用加密算法:DES、3DES、AES
2) 可逆的非对称加密。
a. 常用加密算法:RSA、DSA、ECC
b. 公钥可以公开共享,无法通过公钥计算出私钥。公钥加密只能用私钥解密,私钥加密不可用公钥解密。
c. 为了单方向发送数据,需要两个相关的一组密钥:私钥、公钥。
3) 不可逆的哈希散列
a. 常用加密算法:SHA-256、SHA-1、MD5
b. 目前MD5和SHA-1不再那么安全(可以通过哈希碰撞)
c. 无法通过散列算出原始值。