首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我已经设置了ssh密钥,但是VSCode一直在询问密码

我已经设置了ssh密钥,但是VSCode一直在询问密码
EN

Stack Overflow用户
提问于 2020-09-01 15:45:37
回答 10查看 40.1K关注 0票数 25

我使用macbook(MacOS)连接到远程Ubuntu服务器。我使用ssh-copy-id将公共ssh密钥复制到服务器,并检查ssh密钥是否在终端上工作。当我做ssh username@x.x.x.x时,连接是在不询问密码的情况下建立的)。但是,当我试图通过Visual代码连接到服务器时,VSCode一直在询问密码。有办法解决这个问题吗?

提前感谢!

EN

Stack Overflow用户

发布于 2022-02-08 23:06:54

如果您在Windows中遇到此问题,请记住,您可能使用的从WSL连接到远程计算机的公钥/私钥与VS Code将用于从Windows连接的公钥/私钥不同。您需要为Windows创建一个单独的公钥/私钥对,并将该私钥导出到远程服务器。

来自VS代码远程调试技巧和技巧

在Powershell窗口中,创建一个公钥/私钥对,就像在Linux终端中一样:

代码语言:javascript
复制
ssh-keygen -t rsa -b 4096

然后将其导出到远程服务器:

代码语言:javascript
复制
export USER_AT_HOST="your-user-name-on-host@hostname"
export PUBKEYPATH="$HOME/.ssh/id_rsa.pub"

ssh $USER_AT_HOST "powershell New-Item -Force -ItemType Directory -Path \"\$HOME\\.ssh\"; Add-Content -Force -Path \"\$HOME\\.ssh\\authorized_keys\" -Value '$(tr -d '\n\r' < "$PUBKEYPATH")'"

确保您可以通过无密码SSH通过PowerShell连接。

最后,在VS代码中。按Ctrl+Shift+P打开命令调色板并选择“远程- SSH :打开SSH配置文件.”然后编辑配置文件如下:

代码语言:javascript
复制
Host [convenient name]
    HostName [hostname]
    User [username]
    IdentityFile C:\Users\[username]\.ssh\id_rsa*

然后当您运行“远程-SSH:连接到主机.”在VS代码中并选择上面的主机,它应该连接而不提示输入密码。

票数 2
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63691107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档