Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如果我使用https连接到存储库,如何使用SSH密钥?_Git_Github_Ssh_Https - Fatal编程技术网

Git 如果我使用https连接到存储库,如何使用SSH密钥?

Git 如果我使用https连接到存储库,如何使用SSH密钥?,git,github,ssh,https,Git,Github,Ssh,Https,公司防火墙只允许https连接到github.com(无ssh),因此我添加了如下存储库: git remote add origin https://github.com/myProject.git 不幸的是,如果我调用gitpush,github会询问我的用户名和密码。我已经使用ssh-keygen创建了一个ssh密钥 如何在https存储库中使用SSH密钥 我试过: 但我得到了这个错误: ssh: connect to host ssh.github.com port 443: Con

公司防火墙只允许https连接到github.com(无ssh),因此我添加了如下存储库:

git remote add origin https://github.com/myProject.git
不幸的是,如果我调用
gitpush
,github会询问我的用户名和密码。我已经使用
ssh-keygen
创建了一个ssh密钥

如何在https存储库中使用SSH密钥


我试过:

但我得到了这个错误:

ssh: connect to host ssh.github.com port 443: Connection refused

这个错误可能是因为
ssh.github.com
是一个专用服务器(我认为其中有几个服务器,目前它解析为两个不同的IP地址),而您公司的防火墙可能只列出了与“基本”的连接的白名单
github.com
解析为一组不同于
ssh.github.com

这是必需的,因为在这两种情况下,在同一端口上处理传入连接的服务器端软件必须不同(SSH服务器与说HTTPS的web服务器)


至于你的一般问题-不,这是不可能的:SSH(SecureSHell协议和HyperTextTTransferprotocol,Secure)彼此之间没有任何关系,除非它们都提供安全性(认证和保密)对于它们所管理的通信通道,

在http:/COD>上不是“代码> SSH”,它是HTTPS端口上的“代码> SSH。协议仍然是SSH,只是使用的端口从22到443的变化。”ITER Atter,如果您原来的问题是每次通过HTTPS访问GITHUB RePOS需要键入密码,则可以考虑使用G。它是“凭据缓存”,可以设置为在内存中保存凭据一段可配置的时间。请参阅
git-help-credentials
。这不是一个确切的解决方案,但总比什么都没有好。(对于SSH密钥,在将其添加到SSH代理时,您仍然必须解密它们,这基本上是一样的。)
ssh: connect to host ssh.github.com port 443: Connection refused