作为IT工程师,优化SSH连接速度是提升工作效率的重要环节。以下是一系列经过验证的SSH连接速度优化技巧:
ping your.server.com
traceroute your.server.com
mtr your.server.com
# 修改/etc/resolv.conf使用更快的DNS服务器
nameserver 8.8.8.8
nameserver 1.1.1.1
Host *
# 启用压缩,适合低带宽高延迟连接
Compression yes
# 使用更快的加密算法
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
# 禁用DNS反向查询
GSSAPIAuthentication no
# 保持连接活跃
ServerAliveInterval 60
# 使用更快的MAC算法
MACs hmac-sha2-256,hmac-sha2-512
# 复用连接
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
ControlPersist 4h
# 使用更快的加密算法
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
# 禁用DNS反向查询
UseDNS no
# 禁用GSSAPI认证
GSSAPIAuthentication no
# 加快登录速度
LoginGraceTime 30
修改后重启SSH服务:
sudo systemctl restart sshd
# 在客户端配置中已包含,确保正确设置
# 首次连接后,后续连接会复用已有通道
Host jumpbox
HostName jumpbox.example.com
User youruser
IdentityFile ~/.ssh/jumpbox_key
Host target-server
HostName target.internal
User admin
IdentityFile ~/.ssh/internal_key
ProxyCommand ssh -W %h:%p jumpbox
sudo apt install mosh # Debian/Ubuntu
sudo yum install mosh # RHEL/CentOS
mosh user@server.com
测试SSH连接建立时间:
time ssh -o "ConnectionAttempts=1" user@server.com "exit"
检查当前使用的加密算法:
ssh -vvv user@server.com 2>&1 | grep "kex algorithm\|encryption"
通过综合应用这些技巧,可以显著提升SSH连接速度,特别是在远程工作或管理分布式系统时效果更为明显。