免密scp解决ssh_exchange_identification:read connection reset by peer 原因

在区块链docker镜像转移过程中,需要经常在服务器之间拷贝资源,scp需要密码很不方便,因此需要免密操作。以下是方法以及错误解决办法。

1. 在服务器 S 上执行如下命令来生成配对密钥: 
ssh-keygen -t rsa 
按照提示操作,注意,不要输入passphrase,因为我的之前已经操作过,所以还提示了是否覆盖,输入 "y"回车就可以。其他提示信息如下 
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa. 
Your public key has been saved in /root/.ssh/id_rsa.pub. 
The key fingerprint is: 
ff:8e:85:68:85:94:7c:2c:46:b1:e5:2d:41:5c:e8:9b root@localhost.domain

2. 将 /root/.ssh/ 目录中的 id_rsa.pub 文件复制到 服务器 B 的 /root/.ssh/ 目录中,并改名为 authorized_keys。 
scp .ssh/id_rsa.pub root@1

### 错误原因分析 当遇到 `ssh_dispatch_run_fatal: Connection to x.x.x.x port 22: message authentication code incorrect` 或者 `Corrupted MAC on input` 这类错误时,通常意味着消息认证码 (MAC) 验证失败。这可能是由于多种因素引起的: - 客户端和服务端之间的加算法或MAC不匹配。 - 数据在网络传输过程中被篡改。 - 使用了过期或者损坏的钥文件[^1]。 对于 SCP 文件传输关闭连接的情况 (`scp connection closed`) ,同样可能是因为上述提到的原因之一导致的数据完整性校验失败而终止会话。 ### 解决方案 #### 方法一:更新SSH配置参数 尝试调整本地 SSH 客户端配置来排除某些可能导致冲突的消息验证机制选项,在用户的 `.ssh/config` 中加入以下设置以禁用特定类型的 MAC 和压缩方式: ```bash Host * Ciphers aes256-ctr,aes192-ctr,aes128-ctr MACs hmac-sha2-512,hmac-sha2-256,hmac-md5 Compression no ``` 此更改旨在减少潜在兼容性问题并强制使用更稳定可靠的加组合[^2]。 #### 方法二:升级OpenSSH版本 如果当前使用的 OpenSSH 版本较低,则可能存在已知的安全性和稳定性缺陷。建议检查服务器上安装的是哪个版本,并考虑将其更新至最新稳定版。新版本往往修复了许多旧版本中存在的 bug 并提高了整体性能和安全性。 可以通过包管理器执行相应命令完成升级操作,例如在基于 Debian/Ubuntu 的系统中可以这样做: ```bash sudo apt-get update && sudo apt-get install --only-upgrade openssh-server ``` 而对于 RedHat/CentOS 用户来说则是这样: ```bash yum check-update ; yum upgrade openssh* ``` 确保重启服务使新的软件生效: ```bash service sshd restart ``` #### 方法三:重新生成主机钥对 有时现有的私钥可能会因为各种原因变得不可靠,这时可以选择删除现有钥并对每台机器创建一对全新的 RSA/ECC 钥用于身份验证目的。具体做法是在各节点分别运行下面这条指令: ```bash rm /etc/ssh/*key* # 清除所有现存钥 dpkg-reconfigure openssh-server # 对于Debian系发行版适用 # 或者 systemctl restart sshd.service # 其他Linux发行版通用的方式重载配置 ``` 之后按照提示完成整个过程即可恢复正常的公钥基础设施(PKI)[^3]。 ### 注意事项 在整个排查期间应当保持耐心细致的态度,逐步测试不同的可能性直到找到最合适的解决方案为止。同时也要注意备份重要数据以防万一出现问题能够及时回滚到之前的状态。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能体格

你的鼓将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值