在Windows上使用SSH连接Git

4
我已阅读相关问题但仍未找到解决此问题的方法。
我在Windows上安装了Git,想使用SSH连接GitHub。按照这个教程 https://help.github.com/articles/generating-ssh-keys 成功设置了我的密钥。
如果我打开一个Git Bash并尝试ssh GitHub,我可以连接成功,所以这个方法有效。
ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

这意味着git-bash实际上能够识别我的密钥。然而,如果我尝试推送(代码),就会出现问题。
git push origin master

Git提示我输入用户名和密码。
感谢您的帮助。

编辑:通过使用git协议而不是http协议解决了问题,是我的问题。
所以请替换成以下内容:

https://github.com/_user_/_repository_.git  

使用这个

git@github.com:_user_/_repository_.git  

在远程链接中

你用PUTTY设置好了吗?你有pagent在运行吗? - mlt
相似但可能不准确的重复问题:https://dev59.com/T2TWa4cB1Zd3GeqPGsni。 - Todd A. Jacobs
2个回答

5
不需要移除或添加任何内容,只需像这样做:
git remote set-url origin git@github.com:username/repo.git

2

您可能是克隆了一个使用 https 协议而不是 git 协议的远程仓库。 您需要重新定义您的 origin 远程仓库。

# Change this as needed.
github_username="$LOGNAME"

# Replace your remote, then push.
git remote rm origin
git remote add origin "git@github.com:${github_username}/${PWD##*/}.git"
git push --tags --set-upstream origin master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接