Git配置代理实现加速
本地开启 VPN 代理后,Git 也需要设置代理。否则就会出现能访问 GitHub 网站,但是 git push 超时等情况。
- 设置全局 http/https 代理
1 |
|
- 取消全局 http/https 代理(如果不用 VPN,记得取消代理)
1 |
|
- 设置 ssh 代理,需要新建并配置一个
config
。- linux、MacOS系统:~/.ssh/config
- Windows系统:C:/Users/用户名/.ssh/config
在SSH连接时,这个配置文件通常被用来设置主机别名、指定用户和身份验证方法等。
1 |
|
一个详细的基于自己的代理案例
1 |
|
需要注意的是,如果使用 HTTPS 协议可能更加稳定,可以尝试使用HTTPS 协议进行连接。
ssh.github.com 是 Github 的 SSH 代理服务器地址。当你在使用 Git 命令或者其他 Git 工具时,如果直接连接 Github 的 SSH 服务github.com,可能会因为网络限制或其他原因导致连接失败。为了解决这个问题,Github 提供了一个 SSH 代理服务器ssh.github.com,可以通过这个代理服务器来连接 Github 的 SSH 服务。
保存后 config
文件后测试方法如下,返回 successful 或者 welcome 之类的就成功了。(需要保证已经讲SSH公钥添加到托管平台)
1 |
|
测试成功后会在~/.ssh 生成known_hosts。known_hosts 是 SSH 客户端用来记录远程 SSH 服务器的公钥指纹的文件。在 SSH 连接建立时,客户端会检查该文件中是否存在远程主机的公钥指纹。如果公钥指纹匹配,则说明远程主机是可信的,客户端会接受连接并建立 SSH 会话。如果公钥指纹不匹配,则说明远程主机的身份可能受到篡改或欺骗,客户端会拒绝连接并给出警告信息,以防止中间人攻击。
当第一次连接到一个新的 SSH 服务器时,SSH 客户端会自动将该服务器的公钥指纹保存到 known_hosts 文件中。这样,在以后的连接中,客户端就可以比较该服务器的公钥指纹和 known_hosts 文件中的记录来验证服务器的身份。该文件的格式是每行一个记录,其中包含了远程服务器的 IP 地址、公钥指纹以及可选的注释信息。在一些情况下,如果你不想保存某个主机的公钥指纹,你可以手动编辑 known_hosts 文件并删除相应的记录。
参考链接: