WSL中使用SSH连接到Github的问题

问题描述 投票:1回答:2

我想在我的WSL中​​使用SSH协议连接到github,我遵循github文档here中的每个步骤。密钥已生成,我已经测试了连接,但仍然无法正常工作。每当我将代码推送到github时,我仍然必须输入用户名或密码。有人可以帮我吗?

我也这样做过。

# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566

$ ssh-add ~/.ssh/id_rsa

PS:我不知道这是否相关,但是我的WSL和bash根文件夹中有两个.ssh目录。它可以用在我的bash中,因为我猜VS Code为我生成了SSH密钥。

Above is my SSH in WSL, and below is my SSH in bash (and this one is working)

编辑:我猜这是不起作用的ssh-agent

github windows-subsystem-for-linux ssh-keys
2个回答
0
投票

此后跟eamodio/vscode-gitlens issue 909

我正在尝试在WSL远程服务器中通过SSH使用git。SSH连接受受密码保护的密钥对保护。如何启动SSH代理并为GitLens在其中运行的shell输入密码短语?

默认情况下,在WSL远程连接的终端窗口中打开bash / wsl shell。我在那里启动SSH代理并添加密钥,但看来这不是GitLens在其中发送git命令的外壳

一种解决方法是重新生成那些密钥(首先使用现有密钥打开一个会话之后),然后:

  • 确保新密钥不受密码保护
  • 在WSL会话的~/.ssh/authorized_keys文件中添加新的公共公共密钥。

0
投票

如果系统提示您输入用户名和密码,则可能是您尝试使用HTTPS协议而不是SSH。您可以使用git remote -v查看URL的外观。如果要更改为使用SSH协议,则可以使用git remote set-url origin [email protected]:git/git.git之类的东西(其中git/git.git是要推送到的存储库)。

[通常,尝试通过SSH连接到GitHub不会提示您输入用户名和密码,因为GitHub不支持通过SSH进行密码身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.