温馨提示×

centos ssh传输慢怎么破

小樊
41
2026-10-17 09:09:30
栏目: 智能运维

CentOS 下 SSH 传输慢,常见原因和对应“破法”如下,按见效快慢排序:


一、立竿见影的(改服务端/客户端配置)

1️⃣ 关闭 DNS 反向解析(最常见)

SSH 默认会做反向 DNS 查询,网络不好时非常慢。

服务端(CentOS 上)

sudo vi /etc/ssh/sshd_config

改成:

UseDNS no

重启:

sudo systemctl restart sshd

客户端

ssh -o GSSAPIAuthentication=no user@host

或写入 ~/.ssh/config:

Host *
    GSSAPIAuthentication no

2️⃣ 关闭 GSSAPI(CentOS 特有坑)

sudo vi /etc/ssh/sshd_config
GSSAPIAuthentication no

重启 sshd。


3️⃣ 使用 ssh 连接复用(多次传输超爽)

ssh -o ControlMaster=auto -o ControlPath=/tmp/%r@%h:%p -o ControlPersist=10m user@host

或写进 ~/.ssh/config:

Host *
    ControlMaster auto
    ControlPath ~/.ssh/%r@%h:%p
    ControlPersist 30m

二、传输方式优化(非常重要)

4️⃣ 用 scp / rsync 而不是 ssh 管道

✅ 推荐:

rsync -avzP file user@host:/path

❌ 慢:

cat file | ssh user@host "cat > file"

5️⃣ 调整加密算法(CPU 瓶颈时)

老机器/虚拟机特别明显。

测试:

ssh -c aes128-gcm@openssh.com user@host

写入配置:

Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com

三、网络层面

6️⃣ 检查 MTU / 丢包

ping -M do -s 1472 host

如果丢包 → 调 MTU 或查链路。


7️⃣ 使用更快的替代工具

  • scp → rsync
  • 大文件 → bbcp / aria2c / lftp
  • 内网 → nc + tar

四、终极排查

ssh -vvv user@host

看卡在哪一步:

  • 卡在 expecting SSH2_MSG_KEX → 算法/CPU
  • 卡在 trying authorized_keys → DNS/GSSAPI

如果你能贴:

  • CentOS 版本
  • 内网还是公网
  • 是登录慢还是传文件慢

我可以直接给你一套精确配置。

0 踩