首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我已经设置了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

回答 10

Stack Overflow用户

回答已采纳

发布于 2020-09-03 16:06:36

这是配置文件的问题。

VSCode需要“绝对”路径。

对于MacOS,ssh-copy-id似乎只复制相对于用户的绝对路径。

换句话说,它在"/Users/username“之前省略了"/.ssh”。

/Users/username中的IdentityFile属性中添加“.ssh/config”解决了这个问题。

票数 13
EN

Stack Overflow用户

发布于 2020-09-02 04:39:45

检查此第2518期是否适用:

您应该能够通过删除日志中的文件(在远程服务器端,作为sudo根)、/home/#####/.vscode-server/bin/78a4c91400152c0f27ba4d363eb56d2835f9903a/vscode-remote-lock.#####.78a4c91400152c0f27ba4d363eb56d2835f9903a (带有unlink)或运行命令"Kill .“来摆脱这种状态。 如果再次发生这种情况,可以尝试设置remote.SSH.useFlock。在命令调色板(View->Command Palette)中运行的确切命令是: 远程-SSH:杀死主机上的代码服务器.

另外:

在我的例子中,在使用终端通过ssh连接到容器后删除整个~/.vscode-server目录是有效的。 (仅删除~/.vscode-server/bin无效。)

OP sukrama确认在评论中已经解决了这个问题

这是配置文件中ssh键路径的问题。

票数 8
EN

Stack Overflow用户

发布于 2020-12-19 09:53:30

这里有一个快速方便的解决方法:您不必每次都删除整个..vscode server文件夹!问题似乎是一个名为“vscode-远程锁定.”的文件。它可以位于~/..vscode server/bin/的文件夹中。该文件通过vscode在每个ssh登录时创建。在远程主机上运行以下脚本。每当创建该文件时,它将删除该文件:

代码语言:javascript
运行
复制
while true
do
  if ls /home/<your-username>/.vscode-server/bin/*/vscode-remote-lock.<your-username>.* 1> /dev/null 2>&1; then
    find /home/<your-username>/.vscode-server/bin/*/ -name vscode-remote-lock.<your-username>.* -delete
    echo "Killed the troublemaker! ^_^"
  fi
done

文件名和文件夹名可能因机器而异。因此,在您的机器上找到名称并将它们粘贴到脚本中。然后运行脚本,你就可以走了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63691107

复制
相关文章

相似问题

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