Muh*_*suf 5 github ssh-keys windows-subsystem-for-linux
我想在我的 WSL 中使用 SSH 协议连接到 github,我按照此处github 文档中的每一步进行操作。密钥已生成,我已经测试了我的连接,但仍然无法正常工作。每次将代码推送到 github 时,我仍然必须输入用户名或密码。谁可以帮我这个事?
我也这样做了。
# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566
$ ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
PS:我不知道这是否相关,但我的 WSL 和我的 bash 根文件夹中有两个 .ssh 目录。它在我的 bash 中有效,因为我猜 VS Code 为我生成了 SSH 密钥。
编辑:我猜是 ssh-agent 不起作用
如果系统提示您输入用户名和密码,则您可能正在尝试使用 HTTPS 协议而不是 SSH。您可以使用 来查看 URL 的样子git remote -v。如果您想更改为使用 SSH 协议,您可以使用类似的内容git remote set-url origin git@github.com:git/git.git(git/git.git您要推送到的存储库在哪里)。
一般来说,尝试通过 SSH 连接到 GitHub 不会提示您输入用户名和密码,因为 GitHub 不支持通过 SSH 进行密码身份验证。
在 WSL 2 上,我使用 SSH 提交到 GitHub,发现每次都要求我输入密码。经过几个小时的搜索和尝试几种方法(其中的警告是我无法忍受的),这对我有用。
安装钥匙扣:
sudo apt install keychain
Run Code Online (Sandbox Code Playgroud)
然后将以下行添加到 shell 的配置文件中(可能~/.bashrc是 或~/.zshrc):
eval `keychain --quiet --eval --agents ssh id_rsa`
Run Code Online (Sandbox Code Playgroud)
现在,您只需在启动 WSL 时输入密码即可!
本文归功于 Birk Holland 。
| 归档时间: |
|
| 查看次数: |
3208 次 |
| 最近记录: |