所以我跟着如何向 GitHub 添加 SSH 密钥的指南,并向 GitHub 和 SSH 代理添加了一个带有密码的新 SSH 密钥。现在,如果我按照指南中所述运行以测试我是否正确设置了所有内容,它甚至不会提示我输入密码,而是立即返回。我已安装和,并且 SSH 服务正在运行。ssh -T [email protected]
ssh: connect to host github.com port 22: Connection refused
openssh-server
openssh-client
非常感谢您的帮助。
更新:当我尝试从朋友的 GitLab 实例克隆一个我有写访问权限的存储库时,它会抛出相同的错误。这似乎是 SSH 的问题,而不是密钥的问题。(我已将它们添加到实例中。)
答案1
您是否尝试过使用端口 443 并添加ssh.
子域前缀?
此命令将对其进行测试。由于不支持 shell,您将收到错误。
ssh -T -p 443 [email protected]
然后你可以使用完整的 URL 来指定项目路径,参见Stack Overflow 答案详情请见:
ssh://[email protected]:443/yourname/reponame.git
~/.ssh/config
按照评论中的建议进行设置:
# GitHub Account
Host github.com
HostName ssh.github.com
Port 443
PreferredAuthentications publickey
IdentityFile <path to your private ssh key>
答案2
如果您收到拒绝连接的消息,则意味着您实际上收到了一个数据包,表明您的目的地不接受您的连接。这可能意味着以下几种情况:
github.com 已关闭(可能性不大,但你可以随时检查其状态https://status.github.com/)
你的 github.com 的 IP 地址无效(在 /etc/hosts 或你的解析器中手动输入),这至少会阻止来自你的 IP 地址的 ssh
你在通往 github.com 的路上有防火墙,可以阻止 ssh 流量(例如本地防火墙或公司防火墙)