为啥从 powershell 命令行连接到 github 时出错?

Posted

技术标签:

【中文标题】为啥从 powershell 命令行连接到 github 时出错?【英文标题】:why error connecting to github from powershell command line?为什么从 powershell 命令行连接到 github 时出错? 【发布时间】:2018-01-28 10:46:30 【问题描述】:

第一次使用 GitHub。 在 github.com 上创建了存储库。现在我想推送到那个存储库。出现“连接失败”错误。

当我运行“ssh -Tv git@github.com”时,我得到“connection timed out”。 并且“ssh -T -p 443 git@ssh.github.com”失败:Permission denied

我关闭了 Windows 防火墙。同样的错误。

怎么办?如何连接到 GitHub? 我正在使用 VSCode。从 powershell 命令行工作。

这是我尝试过的命令:

    PS C:\gitsteve\maker> ssh -Tv git@github.com
OpenSSH_7.1p2, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to github.com [192.30.255.112] port 22.
debug1: connect to address 192.30.255.112 port 22: Connection timed out
debug1: Connecting to github.com [192.30.255.113] port 22.
debug1: connect to address 192.30.255.113 port 22: Connection timed out
ssh: connect to host github.com port 22: Connection timed out

PS C:\gitsteve\maker> git push -u origin master
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

PS C:\gitsteve\maker> ssh -T -p 443 git@ssh.github.com
The authenticity of host '[ssh.github.com]:443 ([192.30.253.123]:443)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[ssh.github.com]:443,[192.30.253.123]:443' (RSA) to the list of known hosts.
Permission denied (publickey).

PS C:\gitsteve\maker> ssh-add -l
Could not open a connection to your authentication agent.

PS C:\gitsteve\maker> ssh -T -p 443 git@ssh.github.com
Warning: Permanently added the RSA host key for IP address '[192.30.253.122]:443' to the list of known hosts.
Permission denied (publickey).

Please make sure you have the correct access rights
and the repository exists.

PS C:\gitsteve\maker> ssh-agent -s
SSH_AUTH_SOCK=/tmp/ssh-W7z0JBkeNSBz/agent.14164; export SSH_AUTH_SOCK;
SSH_AGENT_PID=14148; export SSH_AGENT_PID;
echo Agent pid 14148;

PS C:\gitsteve\maker> ssh-add -l -E md5
Could not open a connection to your authentication agent.

PS C:\gitsteve\maker> ssh -T -p 443 git@ssh.github.com
Permission denied (publickey).

【问题讨论】:

更多信息。 git push -u origin master 命令在 github 桌面应用程序的 git shell 中工作。 【参考方案1】:

如果 SSH 因任何原因被阻止,请尝试切换到 https URL

 cd /path/to/repo
 git remote set-url origin https://github.com/<username>/<reponame>.git

然后再试一次

 git push -u origin master

那么第一次,它应该需要您的 GitHub 用户名/密码(这与您可能在您的私人 SSH 密钥上设置的密码无关:它需要您的 GitHub 帐户密码)

如果你安装了Git credential helper (as in this answer),这些 GitHub 凭据将被缓存(意味着 vscode 不会在下次推送时再次询问你的用户名/密码) 先检查git config credential.helper的值:如果看到manager,则无事可做。

【讨论】:

以上是关于为啥从 powershell 命令行连接到 github 时出错?的主要内容,如果未能解决你的问题,请参考以下文章

从命令行连接到 MySQL

如何从命令行连接到托管的 Team Foundation Service

通过命令行连接到 SMB 服务器

通过命令行连接到 smtp.gmail.com

尝试通过命令行连接到 MySQL,但改为使用 MariaDB

命令行连接到无线网络在 ubuntu 10.04 上不起作用