VSCODE远程调试,连接ssh失败,报错:过程试图写入管道不存在

用vscode远程连接linux机器调试的时候,突然ssh就连接不上了,各种重新安装本地window和远端linux的vscode还是无法解决。查看具体报错信息为Unable to negotiate with 192.178.110.21 port 22: no matching MAC found. Their of > fer: hmac-sha1,过程试图写入管道不存在

主要的原因为SSH 客户端和服务器之间不兼容的 MAC(消息认证码)算法导致的

 排查处理方法:

1. 检查 SSH 客户端和服务器的配置

确保你的 SSH 客户端和服务器都支持相同的 MAC 算法。你可以通过以下命令检查客户端支持的算法:

ssh -Q mac

2. 修改 SSH 配置文件

vscode远程ssh连接linux报错为 no matching MAC found. Their of > fer: hmac-sha1,所以你可以在客户端的 SSH 配置文件中添加支持它的设置。编辑或创建 ~/.ssh/config 文件,添加以下内容:

Host 192.178.110.21 

MACs hmac-sha1

报文配置后重新连接,即可解决 no matching MAC found. Their of > fer: hmac-sha1的问题。

在尝试通过SSH连接远程虚拟机时出现错误“试图写入管道存在”,通常表明在客户端与服务器之间的通信管道未能正确建立。以下是排查与解决此问题的详细方法。 ### 检查SSH服务状态 确保目标虚拟机上的SSH服务正在运行。可以通过以下命令检查SSH服务的状态: ```bash sudo systemctl status ssh ``` 如果服务未运行,可以使用以下命令启动它: ```bash sudo systemctl start ssh ``` ### 验证网络连接 确保本地计算机能够访问远程虚拟机的IP地址和端口22(默认SSH端口)。可以使用`ping`命令测试基本的网络连通性: ```bash ping <虚拟机IP地址> ``` 此外,使用`telnet`或`nc`命令验证端口是否开放: ```bash telnet <虚拟机IP地址> 22 # 或者 nc -zv <虚拟机IP地址> 22 ``` ### 检查SSH配置文件 检查服务器端的SSH配置文件 `/etc/ssh/sshd_config` 是否有异常设置,比如禁用了密码登录或者公钥认证方式当。确认以下配置项是否正确设置: ``` PasswordAuthentication yes PubkeyAuthentication yes ``` 修改后需要重启SSH服务以使更改生效: ```bash sudo systemctl restart ssh ``` ### 检查用户权限和家目录 确保尝试登录的用户账户存在,并且其家目录以及`.ssh`目录下的权限设置正确。特别是`.ssh/authorized_keys`文件的权限应为600,而`.ssh`目录的权限应为700。可以使用以下命令来调整权限: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` ### 检查防火墙设置 确认虚拟机上的防火墙规则允许传入的SSH连接。对于使用`ufw`的系统,可以运行以下命令允许SSH流量: ```bash sudo ufw allow OpenSSH ``` ### 检查Windows SSH环境变量 如果是在Windows上使用Git Bash或其他工具进行SSH连接,可能存在与Windows自带SSH客户端的冲突。可以尝试修改系统的PATH环境变量,确保优先使用所需的SSH客户端版本[^2]。 ### 使用详细模式诊断 使用`-v`选项运行SSH命令以获取更详细的输出信息,这有助于定位问题所在: ```bash ssh -v user@hostname ``` ### 检查SELinux或AppArmor 如果虚拟机操作系统启用了SELinux或AppArmor等安全模块,这些安全策略可能会阻止SSH服务正常工作。临时禁用这些安全模块可以帮助确定它们是否是问题的原因。 通过上述步骤,应该能够诊断并解决“试图写入管道存在”的错误。如果问题仍然存在,则可能需要进一步查看系统日志(如`/var/log/auth.log`)以获取更多线索。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值