SSH & SSL

1. SSL

1.0 扫盲

Secure Sockets Layer的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密

1.2 通信过程

SSH的通信过程可以分为3大主要阶段

—> 1.建立安全连接:

服务器将自己的RSA公钥发给客户端,如果客户端没有服务器的公钥,就会询问是否保存(保存地址:~/.ssh/known_hosts)。

—> 2.客户端认证

SSH-2客户端有两种认证方式:”秘钥认证“和”密码认证“。会优先尝试“秘钥认证”,如果“秘钥认证“失败了,就会启用“密码认证”。

—> 3.数据传输

1.3 操作

// 删除对应服务器的公钥

ssh-keygen -R 服务器IP地址

1.4 OpenSSL

SSL的开源实现,绝大部分HTTPS请求等价于:HTTP + OpenSSL


2. SSH

2.0 扫盲

Secure Shell的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议.使用SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗

2.1 版本

现在用的比较多的是SSH-2,客户端和服务端版本要保持一致才能通信

—> 1.SSH-1

—> 2.SSH-2

查看SSH版本(查看配置文件的Protocol字段)

客户端:/etc/ssh/ssh_config

服务端:/etc/ssh/sshd_config

2.2 通信过程

->1. 建立安全连接

在此过程中,服务器会将自己的公钥发给客户端。服务器默认使用“22”端口

如果客户端没有该服务器的公钥信息,就会询问是否连接此服务器。输入yes,会将此公钥存储在“~/.ssh/known_hosts”中

// 客户端中删除一个服务器的公钥(~/.ssh/known_hosts中)

ssh-keygen -R 192.168.1.23

->2. 客户端认证

有两种:一种密码认证,一种秘钥认证。优先秘钥认证。

->3. 数据传输

2.3 OpenSSH

是SSH协议的免费开源实现,可以通过OpenSSH的方式让Mac远程登录到iPhone。

账户:
root:最高权限账户,$HOME 是/var/root

mobile:普通权限账户,$HOME 是/var/mobile

用法:OpenSSH

推荐阅读更多精彩内容