我创建了一个 ec2 实例和一个 ssh-rsa 密钥对。然后我尝试使用 Visual Studio Code 远程 ssh 扩展连接该实例。第一次尝试成功连接。我可以访问文件,创建 js 文件。然后我编写了 JS 代码,在编写代码时,几分钟后,ssh 会话突然断开连接。
[20:35:13.655] Log Level: 2
[20:35:13.677] [email protected]
[20:35:13.677] win32 x64
[20:35:13.689] SSH Resolver called for "ssh-remote+<my EC2 Ipv4 Address>", attempt 1
[20:35:13.690] SSH Resolver called for host: <my EC2 Ipv4 Address>
[20:35:13.691] Setting up SSH remote "<my EC2 Ipv4 Address>"
[20:35:13.888] Using commit id "fcac248b077b55bae4ba5bab613fd6e9156c2f0c" and quality "stable" for server
[20:35:13.895] Install and start server if needed
[20:35:13.944] Checking ssh with "ssh -V"
[20:35:16.339] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
[20:35:16.414] Using SSH config file "C:\Users\abc\.ssh\config"
[20:35:16.415] Running script with connection command: ssh -T -D 65457 -F "C:\Users\abc\.ssh\config" 3.20.222.153 bash
[20:35:16.421] Terminal shell path: C:\Windows\System32\cmd.exe
[20:36:18.431] Resolver error: Error: Connecting with SSH timed out
at Function.Timeout (c:\Users\abc\.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:1:130714)
at Timeout._onTimeout (c:\Users\abc\.vscode\extensions\ms-vscode-remote.remote-ssh-0.55.0\out\extension.js:127:105713)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)
[20:36:18.439] ------
然后,每当我尝试连接实例时,它总是会抛出 ssh 连接超时错误。在 vscode 会话中突然断开连接后,每个 ssh 客户端都会抛出连接超时错误。似乎实例停止响应传入的连接请求。
我尝试创建新实例,以为实例中可能出了问题。但又发生了。所以这意味着这是我这边的问题。我想知道为什么会发生这种情况。如何通过 ssh 会话从我这边设置 ec2 实例以进行远程开发?
答案1
在将默认 shell 从 bash 改为 fish 后,我遇到了同样的问题,改回来后就可以正常工作了。