git - "Permission denied (publickey)."Git错误

我已经在 github 上为我的机器注册了 ssh key ,并通过键入 ssh git@github.com 验证它是否有效。接收认证成功的响应。

但是,当我尝试将机器上的源代码推送到我的 git 存储库时,我收到

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我查看了与我有相同问题的其他线程,他们似乎都建议使用我已经完成的 github 注册 ssh key 。

编辑:我的工作站上的 .git/config 文件的内容
[core]  
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://github.com/OSU-Net/list_expiration
[branch "master"]
    remote = origin
    merge = refs/heads/master

有任何想法吗?

最佳答案

url origin 的行远程似乎缺少用户名。您获得 Permission Denied 的原因是因为 SSH 默认使用您的本地系统用户名,因为没有指定任何用户名。除非您的本地用户名恰好与远程用户名相同,否则它将拒绝登录,因为您的公钥未与该名称的帐户相关联。

远程 URL 的格式应为 ssh://<username>@<hostname>/path/to/git/repo/ ,或者在 Github 的情况下,git@github.com:<username>/<repo name>.git .

您可以使用以下命令更改原始 url:

git remote set-url origin git@github.com:OSU-Net/list_expiration.git

https://stackoverflow.com/questions/25127940/

相关文章:

ajax - 在Grails中使用Ajax动态刷新图像

ruby-on-rails - Rails 4.1:Rails:Module的未定义方法 `appl

grails - 由于模糊的def递归导致的grails中的堆栈溢出

grails - 使用 resources.groovy 定义服务

hibernate - Grails渴望通过滚动获取

shell - 在每行的开头添加文本

grails - grails控制列表方法的外观

grails - Grails中的String的默认数据库映射类型是什么?

inheritance - Grails/GORM:继承的域类的行为不一致(测试VS Bootstr

command-line - SSH与FTP:通过终端将本地文件推送到服务器