You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode远程SSH连Linode失败及WSL后续无法SSH问题求助

问题1解答
  • 最可能的原因是Linode服务器或其内置防火墙触发了IP临时封禁:VSCode远程连接失败时,通常会在短时间内发起多次SSH尝试(比如密钥重试、自动密码验证等),这种高频请求会被Linode的安全机制(或服务器上的fail2ban工具)判定为恶意攻击,临时封禁你的本地IP,封禁时长一般为24小时,所以次日能恢复连接。
  • 次要可能:VSCode远程扩展修改了WSL的SSH客户端配置(如~/.ssh/config),导致后续连接失败,但这种情况不会自动恢复,因此IP封禁的概率更高。
问题2解答

针对ssh: connect to host 143.42.59.227 port 22: Connection refused错误,按以下步骤排查:

  1. 确认服务器SSH服务状态
    通过Linode控制台的LISH终端登录服务器,执行:
    systemctl status sshd
    
    如果服务未运行,启动并设置开机自启:
    systemctl start sshd
    systemctl enable sshd
    
  2. 检查防火墙与安全组
    • Linode Cloud Firewall:确保入站规则允许22端口的TCP流量。
    • 服务器本地防火墙:若使用ufw,执行ufw allow 22开放端口;若用iptables,添加对应规则。
  3. 修正SSH配置文件
    编辑服务器上的/etc/ssh/sshd_config,确认以下配置:
    Port 22  # 未被修改为其他端口
    PasswordAuthentication yes  # 开启密码认证(测试用,后续可改回密钥)
    PubkeyAuthentication yes
    PermitRootLogin no  # 若用root登录需改为yes,但不推荐
    
    修改后重启服务:
    systemctl restart sshd
    
  4. 修复密钥权限
    服务器上的密钥文件权限错误会导致认证失败,执行:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  5. 排查VSCode配置
    • 删除VSCode远程资源管理器中现有连接,重新添加,手动输入ssh 你的服务器用户名@143.42.59.227。
    • 检查WSL中的~/.ssh/config是否有错误配置,比如错误的Host别名或端口。
  6. 解除IP封禁
    若之前的多次失败尝试触发fail2ban,执行以下命令解封本地IP:
    fail2ban-client set sshd unbanip 你的本地公网IP
    

内容的提问来源于stack exchange,提问作者Jonas Rossen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 05:12:23