Amazon web services 如何使用SFTP中的pem文件将EC2实例与VSCode目录连接

Amazon web services 如何使用SFTP中的pem文件将EC2实例与VSCode目录连接,amazon-web-services,amazon-ec2,visual-studio-code,Amazon Web Services,Amazon Ec2,Visual Studio Code,我正在尝试使用SFTP直接从VS代码连接EC2实例。我可以使用[password]类型连接其他ftp服务,但对于EC2实例,我只有.pem文件。 应该是这样,但使用公钥.pem文件 { "protocol": "sftp", "host": "localhost", "port": 22, "username": "username", "remotePath": "/" } 试试这个 VScode上的config.json { "remotePath": "/", "host

我正在尝试使用SFTP直接从VS代码连接EC2实例。我可以使用[password]类型连接其他ftp服务,但对于EC2实例,我只有.pem文件。 应该是这样,但使用公钥.pem文件

{
"protocol": "sftp",
"host": "localhost",
"port": 22,
"username": "username",
"remotePath": "/"
}
试试这个 VScode上的config.json

{
    "remotePath": "/",
    "host": "<IP-OR_EC2-INSTANCE-HOST-NAME>", 
    "username": "USERNAME",
    "password": "PASSWORD",
    "port": 22,
    "secure": true,
    "protocol": "sftp",
    "uploadOnSave": true, 
    "passive": false,
    "debug": true,
    "privateKeyPath": "<PATH-TO-PEM-FILE>",
    "passphrase": null,
    "ignore": [
       ------
    ],
    "generatedFiles": {
        "uploadOnSave": false,
        "extensionsToInclude": [],
        "path": ""
    }
}
{
“远程路径”:“/”,
“主机”:“,
“用户名”:“用户名”,
“密码”:“密码”,
“港口”:22,
“安全”:正确,
“协议”:“sftp”,
“uploadOnSave”:正确,
“被动”:错误,
“调试”:正确,
“privateKeyPath”:“,
“密码短语”:空,
“忽略”:[
------
],
“生成的文件”:{
“uploadOnSave”:false,
“扩展到包括”:[],
“路径”:”
}
}

按ctrl+Shift+p打开sftp.json配置文件,然后键入sftp:config并编辑“host”、“privateKeyPath”,然后保存json文件

{
"name": "GIVE ANY NAME",
"host": "ec2-.........compute.amazonaws.com",
"protocol": "sftp",
"port": 22,
"username": "ec2-user",
"privateKeyPath": "SPECIFY YOUR PATH/FILENAME.pem",
"remotePath": "/",
"uploadOnSave": true
}

在我的mac OS Catalina 10.15和Visual Studio 1.39.0中 为此,请使用密钥Pem:

注意:privateKeyPath是计算机中key.pem的路径

{
    "name": "id0000533-test",
    "protocol": "sftp",
    "host": "ec2-12-123-123-123.eu-west-1.compute.amazonaws.com",
    "remotePath": "/var/www/laravel",
    "privateKeyPath": "../keypem/id0000533-test.pem",
    "username": "admin",
    "port": 22,
    "secure": true,
    "uploadOnSave": true,
    "passive": false,
    "debug": true,
    "ignore": [
        "\\.vscode",
        "\\.git",
        "\\.DS_Store"
    ],
    "generatedFiles": {
        "uploadOnSave": true,
        "extensionsToInclude": [],
        "path": "./"
    }
}

如果要将VS代码连接到AWS EC2,请使用扩展包并将其用于SSH。.pem文件和标准SSH配置文件将位于:

C:\Users\YourName\.ssh\


我写了一篇文章详细介绍了整个设置。

新的VSCode Remote SSH会出现错误,这两个方面的组合对我来说很有用:

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

  • 更改pem文件的权限,将用户列为唯一所有者,并删除对其他用户的继承


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

    谢谢你,非常:)这个答案现在似乎更合适了。很好的文章,正是我想要的!谢谢这就是我需要的。这篇文章很有帮助。谢谢你的提示-仅供参考,如果文件名有空格,你需要在文件名周围加上双引号。这就是方法
    Host aws-ec2
         HostName example.dev
         User example
         IdentityFile c:\Users\YourName\.ssh\aws-example-user.pem