Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 无法使用VSCode访问EC2实例_Ssh_Visual Studio Code - Fatal编程技术网

Ssh 无法使用VSCode访问EC2实例

Ssh 无法使用VSCode访问EC2实例,ssh,visual-studio-code,Ssh,Visual Studio Code,我已经创建了一个Ubuntu(18.04)EC2实例。使用bash-ssh,我可以毫无问题地登录。但是当我尝试同样的VS代码时,我遇到了问题 .ssh/中的我的配置文件有如下条目: Host MyBox HostName IPADDRESS IdentityFile C:\Users\myname\mykey.pem User ubuntu 我选择此选项以在VSCode中连接,但我得到一个对话框,上面说无法建立到“MyBox”的连接。连接已取消。 输出窗口显示: [14:03:27

我已经创建了一个Ubuntu(18.04)EC2实例。使用bash-ssh,我可以毫无问题地登录。但是当我尝试同样的VS代码时,我遇到了问题

.ssh/中的我的配置文件有如下条目:

Host MyBox
  HostName IPADDRESS
  IdentityFile C:\Users\myname\mykey.pem
  User ubuntu
我选择此选项以在VSCode中连接,但我得到一个对话框,上面说
无法建立到“MyBox”的连接。连接已取消。

输出窗口显示:

[14:03:27.443] > The authenticity of host 'XXX (XXX)' can't be established.
> ECDSA key fingerprint is SHA256:LALALALALA
> Are you sure you want to continue connecting (yes/no)?
[14:03:27.444] Detected fingerprint confirmation message
[14:03:27.444] Showing fingerprint confirmation dialog
[14:03:29.815] Fingerprint dialog canceled
[14:03:29.816] "install" terminal command canceled
[14:03:29.817] Resolver error: Connecting was canceled
[14:03:29.820] TELEMETRY: {"eventName":"resolver","properties":{"outcome":"failure","reason":"Canceled","askedPw":"0","askedPassphrase":"0","asked2fa":"0","askedHostKey":"1","gotUnrecognizedPrompt":"0","remoteInConfigFile":"1"},"measures":{"resolveAttempts":1,"retries":1}}
[14:03:29.823] ------
在登录Windows的过程中,会显示
初始化VS代码服务器
。我不确定这是否意味着建立了连接。

输出显示:

[14:03:27.444] Showing fingerprint confirmation dialog
[14:03:29.815] Fingerprint dialog canceled
我没有注意到命令调色板区域中的小对话框。我可能开的窗户太多了

当我接受指纹时,连接就建立起来了。接受在已知的\u主机中添加一个条目。当然,这意味着对话框不会再次弹出。

主机ec2 主机名ec2-52-91-118-43.compute-1.amazonaws.com
用户ec2用户 IdentityFile~/pathTopemFile.pem


这是我在vscode上为ec2主机配置的配置文件的外观,新的vscode远程SSH给出了错误,有两个方面对我有效:

  • 恢复到远程SSH 0.49或更早版本

  • 更改pem文件的权限,将用户列为唯一所有者,并删除对其他用户的继承。如果您在Windows文件系统中以C:\的形式正常输入config file IdentityFile参数,则该参数可能会自动从路径中删除冒号和破折号。它适用于IdentityFile设置


  • 经过大量的尝试和错误后,远程SSH再次工作,这次是运行Ubuntu的Amazon EC2。

    您在检查主机密钥指纹时取消了连接。它可能不理解您为命令行存储的普通已知主机,或者无法提示您接受该命令fingerprint@Jakuje没错,命令选项板区域中弹出了一个小对话框。我没有看到它,它很快就消失了。现在一切都好了。