尽管设置了 ssh,为什么在推送时提示输入用户名?
Why prompted for username when pushing despite having set up ssh?
我很困惑,在推送时,总是提示我输入用户名和密码,但我已经设置了一个 public 密钥。
我可以使用ssh -T git@github.com
成功登录。
更奇怪的是,在我的笔记本电脑(我首先设置的笔记本电脑)上,我可以通过单击 "use ssh" 或 https 通过 ssh 克隆一个存储库。在我的塔上(有问题)只有 https。
它说 "Use git or checkout with SVN using the web URL"
我在塔上有一个 ssh 服务器 运行 但没有监听端口 22,因为我从路由器转发了一个端口并且更喜欢使用非标准端口,这可能是问题所在吗?如果这确实是问题所在,我如何让 ssh 服务器在两个端口上侦听?
在 GitHub 上设置 SSH 并不会神奇地使您的所有连接都使用 SSH。您可能希望通过 SSH 连接到某些远程设备,而通过 HTTPS 连接到一些远程设备。您的遥控器可能配置为使用 HTTPS。
您可以使用 git remote -v
查看您的遥控器使用的 URL,例如
$ git remote -v
origin https://github.com/github/hub.git (fetch)
origin https://github.com/github/hub.git (push)
和 git remote set-url <remote> <new-url>
将它们更新到 SSH URL,例如
$ git remote set-url origin git@github.com:github/hub.git
origin git@github.com:github/hub.git (fetch)
origin git@github.com:github/hub.git (push)
我很困惑,在推送时,总是提示我输入用户名和密码,但我已经设置了一个 public 密钥。
我可以使用ssh -T git@github.com
成功登录。
更奇怪的是,在我的笔记本电脑(我首先设置的笔记本电脑)上,我可以通过单击 "use ssh" 或 https 通过 ssh 克隆一个存储库。在我的塔上(有问题)只有 https。
它说 "Use git or checkout with SVN using the web URL"
我在塔上有一个 ssh 服务器 运行 但没有监听端口 22,因为我从路由器转发了一个端口并且更喜欢使用非标准端口,这可能是问题所在吗?如果这确实是问题所在,我如何让 ssh 服务器在两个端口上侦听?
在 GitHub 上设置 SSH 并不会神奇地使您的所有连接都使用 SSH。您可能希望通过 SSH 连接到某些远程设备,而通过 HTTPS 连接到一些远程设备。您的遥控器可能配置为使用 HTTPS。
您可以使用 git remote -v
查看您的遥控器使用的 URL,例如
$ git remote -v
origin https://github.com/github/hub.git (fetch)
origin https://github.com/github/hub.git (push)
和 git remote set-url <remote> <new-url>
将它们更新到 SSH URL,例如
$ git remote set-url origin git@github.com:github/hub.git
origin git@github.com:github/hub.git (fetch)
origin git@github.com:github/hub.git (push)