SSH 安全外壳协议
Secure Shell。远程登录另一台机器、在它上面执行命令的加密协议。运维、开发、服务器管理的基础工具。
替代了什么:
- Telnet —— SSH 的明文前辈,已废弃
- rlogin / rsh —— Unix 老式远程命令,明文,废弃
SSH 提供:
安全配置最佳实践:
- 用 SSH 密钥(public/private),不要用密码
- 关闭密码登录(
PasswordAuthentication no) - 禁用 root 直接登录(
PermitRootLogin no) - 改默认端口(不一定提升安全,但减少日志噪音)
- 用
fail2ban防暴力破解 - 定期审计
authorized_keys
公钥放到远程的 ~/.ssh/authorized_keys,私钥保管在本地。私钥泄露 = 远程机器沦陷。