Not working scp command: Connection closed by remote host (Mac OS X)

本文介绍了一种在Mac电脑上遇到的SCP命令不可用的问题及其解决方案。问题表现为尝试使用SCP命令时连接被远程主机关闭,文章给出了具体的修复步骤。

有时候在mac电脑输入scp命令不可用:

ssh_exchange_identification: Connection closed by remote host
lost connection

解决方案:

cd /var
sudo chown root empty

 

转载于:https://my.oschina.net/u/1024107/blog/1610664

### 解决 SCP/SSH 连接重置问题 当遇到 `kex_exchange_identification: Connection closed by remote host` 或者 `Connection reset by peer` 错误时,这通常意味着 SSH 客户端与服务器之间的密钥交换过程失败。此类问题可能由多种原因引起。 #### 可能的原因分析 1. **防火墙设置不当** 防火墙可能会阻止来自特定 IP 地址或端口的数据包传输,从而中断连接尝试[^1]。 2. **SSH 服务未正常运行** 如果远程主机上的 SSH 服务未能启动或意外终止,则客户端无法完成握手协议并建立安全会话[^2]。 3. **网络配置冲突** 当存在代理或其他中间件干扰正常的 TCP 流量时,也可能引发类似的错误消息[^4]。 4. **SSH 版本兼容性问题** 不同版本间的差异可能导致某些特性不被支持,进而影响到整个通信流程[^3]。 #### 排查方法及解决方案 为了有效解决问题,建议按照以下步骤逐一排查: - 检查本地和目标机器上是否有活动的防火墙规则阻碍了必要的端口访问权限;必要时调整策略允许通过这些端口进行通讯。 - 登录至目标服务器确认其 SSHD (Secure Shell Daemon) 是否正在监听预期中的地址和端口号,并查看日志文件寻找任何异常记录。 - 尝试禁用所有形式的网络过滤设备(如 ProxyChains),直接发起测试性的连接请求来排除外部因素的影响。 - 更新双方操作系统及其附带的安全软件至最新稳定版,确保使用的 OpenSSH 库保持一致性和安全性补丁已安装完毕。 对于具体的命令操作可以参考如下 Python 脚本用于自动化检测部分条件: ```python import subprocess def check_ssh_service(): try: result = subprocess.run(['service', 'sshd', 'status'], capture_output=True, text=True) print(result.stdout) except Exception as e: print(f"Error occurred while checking SSH service status: {e}") check_ssh_service() ``` 此脚本能帮助快速获取当前 Linux 发行版下 SSH 服务的状态信息以便进一步诊断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值