使用 VS Code 时,Amazon AWS EC2 实例不断断开连接

使用 VS Code 时,Amazon AWS EC2 实例不断断开连接

我一直在 AWS EC2 实例上运行一些代码。要访问它,我通常使用 VS Code 的 Remote-SSH 扩展进行连接。SSH 配置文件如下所示:

Host aws-ec2
    HostName ec2-...compute-1.amazonaws.com
    User ec2-user
    IdentityFile [path to file]

但是,偶尔当我正在处理某些文件时,它会突然断开连接并显示无法重新连接。此时,我必须完全停止实例,等待一段时间直到它停止,重新启动实例,等待它启动,使用新的详细信息更改配置文件,然后再次打开它。

我尝试过简单地重启实例,但不起作用。在过去的 6 个月里,这种情况发生过很多次。“输出”选项卡显示如下内容:

...
[00:39:12.906] Got error from ssh: spawn C:\Windows\ssh.exe ENOENT
[00:39:12.906] Checking ssh with "C:\Windows\System32\Wbem\ssh.exe -V"
[00:39:12.907] Got error from ssh: spawn C:\Windows\System32\Wbem\ssh.exe ENOENT
[00:39:12.907] Checking ssh with "C:\Windows\System32\WindowsPowerShell\v1.0\ssh.exe -V"
[00:39:12.907] Got error from ssh: spawn C:\Windows\System32\WindowsPowerShell\v1.0\ssh.exe ENOENT
[00:39:12.907] Checking ssh with "C:\Windows\System32\OpenSSH\ssh.exe -V"
[00:39:12.928] > OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3

[00:39:12.931] Running script with connection command: "C:\Windows\System32\OpenSSH\ssh.exe" -T -D 56231 "aws-ec2" bash
[00:39:12.932] Terminal shell path: C:\Windows\System32\cmd.exe
[00:40:14.936] Resolver error: Error: Connecting with SSH timed out
    at g.Timeout (c:\Users\S***\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:499860)
    at Timeout._onTimeout (c:\Users\S***\.vscode\extensions\ms-vscode-remote.remote-ssh-0.109.0\out\extension.js:2:619259)
    at listOnTimeout (node:internal/timers:569:17)
    at process.processTimers (node:internal/timers:512:7)
[00:40:14.940] ------

我注意到了导致这种情况发生的任何特定触发因素;通常我只是在某个文件中编码。有什么方法可以避免这种情况吗?如果没有,有没有更简单的方法可以让我重新加载并继续工作?

编辑:如果我重新启动并等待约 10 分钟,它也会正常工作。但它通常很快就会再次断开连接。

答案1

我也遇到过同样的问题。我还发现,在停止并启动 EC2 实例后,问题似乎自行解决了。由于您之前发布过此信息,我很好奇您在解决该问题方面是否取得了任何进展。如果是,您能否分享您的解决方案或您可能拥有的任何见解?如果您能提供任何帮助或建议,我将不胜感激。

相关内容