【问题标题】:Pushing code to github while ssh'd into another machine在 ssh 进入另一台机器时将代码推送到 github
【发布时间】:2023-03-23 17:52:01
【问题描述】:

我正在远程工作并通过 ssh 连接到一台工作机器。我正在尝试从远程连接将代码推送到 github,但它一直在询问我的用户名和密码。我知道 github 改变了他们验证用户的方式,但是两台机器都有 github 的工作 ssh-keys。

当 ssh 进入我运行的机器 A 时

ssh git@github.com

然后回来

PTY allocation request failed on channel 0
Hi jasperwreed! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

然后我尝试运行 git push,它会询问我的用户名和密码。

有人知道为什么会这样吗?

【问题讨论】:

  • 如果你运行ssh git@github.com,你正试图通过 ssh 进入 githubs 服务器,这是他们不允许的。如果要推送代码,请使用git push,就像在本地计算机上一样(假设您已经在远程计算机上安装了 git)
  • git remote -v 的输出是什么?

标签: git github ssh


【解决方案1】:

然后我尝试运行 git push,它会询问我的用户名和密码。

这是因为您有一个使用https URL 而不是ssh 的“远程”。要验证这一点,请执行git remote -v。您可能会看到类似的输出

origin https://github.com/myUser/myRepo.git

请注意,这是远程使用 HTTPS URL。将其更改为使用ssh

  1. 在浏览器中打开您的存储库
  2. 点击目录列表上方右侧的“代码”按钮
  3. 选择 SSH 选项卡
  4. 点击复制到剪贴板按钮
  5. 现在打开您的终端并输入git remote set-url origin
  6. 粘贴 URL 并回车。

现在您将能够通过 SSH 使用 git pushgit fetch 等命令。

【讨论】:

  • 这个效果很好,比你好多了!!
猜你喜欢
  • 2018-06-23
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
相关资源
最近更新 更多