SSH 是什么
Secure Shell Protocol,简称SSH,是一种在不安全的网络中为网络服务提供安全传输环境的加密网络协议。根据cloudflare对它的描述
SSH 的确切 OSI 层没有严格定义,但大多数资料都将其描述为第 7 层/应用程序层协议
出现背景
更早的如Telnet使用的是明文传输,日常检查个端口联通没什么问题,但是其他工作风险就很大了。SSH的出现,替代了这种不安全的方式
默认端口
SSH默认使用22端口
安全风险
任何协议都可能被恶意方滥用,而 SSH 的加密特性和隧道功能使其对攻击者特别有吸引力。SSH 已被用于许多记录在案的攻击,以提取私人数据、打开进入安全网络的后门路径,甚至获取服务器的 root 访问权限。
某些类型的攻击还可能会窃取 SSH 密钥以访问私人计算机和服务器。事实上,SSH 密钥管理是大型组织面临的一个主要安全问题,因为它们的许多服务器可能使用数千甚至数百万个密钥,而跟踪和更新这些密钥几乎是不可能的。攻击者一旦获得密钥,就可能在数月或数年内持续访问 —cloudflare
在企业内,SSH是受严管的方式,不得已才能依赖于它构建技术方案。有的企业多年前已经禁用SSH
SSH连接慢
正常情况下默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右
有多种方式可以处理此问题,再此仅记录自己实际使用过的方式
以CentOS
为例:
vi /etc/ssh/sshd_config
#ShowPatchLevel no
# 设置禁用UseDNS
UseDNS no
#PidFile /var/run/sshd.pid
参考
https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=58450
https://www.cloudflare.com/zh-cn/learning/access-management/what-is-ssh/