Linux SSH
1 背景知识
SSH 是 Secure Shell Protocol 缩写,是由 IETF 网络工作小组(Network Working Group )制定;在进行数据传输之前,SSH 先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输,确保了数据的安全。
SSH 是专门用于远程登录会话与其他网络服务提供的安全性协议。利用 SSH 协议有效方式远程管理过程中信息泄露的问题。
Linux 操作系统默认支持通过 SSH 方式远程登录服务器。
2 服务端配置文件
SSH 服务端的配置文件为 /etc/ssh/sshd_config。
2.1 SSH 服务验证方式
其中有些重要的配置信息如下。
2.1.1 口令验证
检查用户名和密码是否一致。
2.1.2 秘钥验证
检查客户端私钥与服务器上的公钥是否一致。
| 选项 | 说明 |
|---|---|
| PasswordAuthentication | 启用密码验证 |
| PubkeyAuthentication | 启用秘钥验证 |
| AuthorizedKeysFile | 指定公钥数据库文件。 |
2.2 SSH 服务监听选项
| 选项 | 参数值 | 说明 |
|---|---|---|
| Port | 22 | 监听的端口。 |
| Protocol | 2 | 使用SSH V2 协议。 |
| ListenAddress | 0.0.0.0 | 监听的ip地址。 |
| UseDNS | no | 禁止DNS解析。 |
Note
UseDNS 一般都为 no 以提高登录速度。
2.3 SSH 用户登录控制选项
| 选项 | 值 | 说明 |
|---|---|---|
| PermitRootLogin | no | 禁止root用户登录 |
| PermitEmptyPasswords | no | 禁用空密码用户登录 |
| LoginGraceTime | 2m | 登录时验证时间为2分钟。 |
| MaxAuthTries | 6 | 最大重试次数为6。 |
3 客户端配置文件
SSH 客户端的配置文件为 /etc/ssh/ssh_conf 。