我正在尝试使用SFTP从VS Code直接连接EC2实例。我可以使用[password]类型连接其他ftp服务,但是对于EC2实例,我只有.pem文件。 期望这样,但是使用公钥.pem文件
{
"protocol": "sftp",
"host": "localhost",
"port": 22,
"username": "username",
"remotePath": "/"
}
答案 0 :(得分:18)
如果要将VS Code连接到AWS EC2,请使用Remote Development扩展包并将其用于SSH。 .pem文件和标准SSH配置文件位于:
C:\ Users \ YourName \ .ssh \
Host aws-ec2
HostName example.dev
User example
IdentityFile c:\Users\YourName\.ssh\aws-example-user.pem
我写了一篇文章,详细介绍了整个VS Code to AWS EC2的设置。
答案 1 :(得分:2)
尝试一下 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": ""
}
}
答案 2 :(得分:1)
按ctrl + Shift + P打开sftp.json配置文件,然后键入SFTP:Config并编辑“主机”,“ 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
}
答案 3 :(得分:1)
在我的Mac OS Catalina 10.15和Visual Studio 1.39.0中 有效,使用Key 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": "./"
}
}
答案 4 :(得分:0)
新的 VSCode 远程 SSH 出现错误,有两件事对我有用:
恢复到 Remote-SSH 0.49 或之前
更改 pem 文件的权限以将用户列为唯一所有者并删除其他用户的继承权。
经过大量的反复试验,Remote-SSH 再次运行,这次是运行 Ubuntu 的 Amazon EC2。