Ubuntu 下的 Git 在 SSH 协议下使用代理

Posted 快乐的GTD吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 下的 Git 在 SSH 协议下使用代理相关的知识,希望对你有一定的参考价值。

Ubuntu 下的 Git 在 SSH 协议下使用代理

首发自 kuricat

关于 Git 使用 Proxy , 网上很多教程讲的都是 如何设置 Http 下 Git 使用 Proxy , 但是并没有提到 SSH 下如何使用 Proxy . 即便有些文章讲到了, 也有不少是 Windows 平台下的, Linux 平台下的很少提及, 所以这里就记录一下, 如何在 Ubuntu 中, 使用 Git 在 SSH 协议下应用代理.

如何设置 git http proxy

$ git config --global http.proxy http://127.0.0.1:1080
$ git config --global https.proxy http://127.0.0.1:1080
$ cat ~/.gitconfig
[http]
proxy = http://127.0.0.1:1080
[https]
proxy = http://127.0.0.1:1080

Ncat
首先你需要 安装一个 Ncat 工具, 在 Ubuntu 下这样安装即可,
$ sudo apt install ncat -y
复制代码ncat 和 nc 类似, 都是用于在两台电脑之间建立连接并返回数据, nc 是 netcat 的 OpenBSD 实现, 而 ncat 是从 nmap 项目抽离出来的 netcat 实现.
如果想看更加详细的介绍, 可以点击下面的链接 或者 在 Google 查询

10 个例子教你学会 ncat (nc) 命令
What are the differences between ncat, nc and netcat?
Linux每天一个命令:nc/ncat

为 SSH 设置代理,
为 Git 以 ssh 的方式拉取项目设置代理的实质, 其实就是为 ssh config 中的 github.com 设置代理, 那么说到为ssh设置代理, 自然绕不开 ~/.ssh/config,
我们需要在 ~/.ssh/config 中加入如下内容:
Host github.com
User git
Hostname github.com
ProxyCommand /usr/bin/ncat --proxy 127.0.0.1:1080 --proxy-type http %h %p

如果你的代理使用的协议是 socks4/5 , 修改 --proxy-type 后面的协议即可, 例如

--proxy-type socks4

--proxy-type socks5

复制代码接着尝试用 git 用户 SSH 连接 Github.com
$ ssh -T git@github.com

如果输出以下内容则代表成功.

Hi Kuri-su! You\'ve successfully authenticated, but GitHub does not provide shell access.
复制代码Success !!
Part of the content reference from

blog.systemctl.top/2017/2017-0…

作者:Kuri-su
链接:https://juejin.cn/post/6844903970146615303
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git ssh key 配置 Ubuntu os

1.生成ssh key:

ssh-keygen -t rsa -C “[email protected]

此时,在~/.ssh/文件夹下会有两个文件, id_rsa 和 id_rsa.pub。分别保存ssh 的密钥和公钥。

2.把id_rsa.pub里面的内容复制到gitlab服务器内个人账号下的ssh_key部分。

3.在本地添加密钥:

ssh-add ~/.ssh/id_rsa 

这步在linux下似乎是必要的,不添加这步会导致识别不了账号密码。在windows下则不需要这一步。

4.从git服务器下载工程:

git clone [email protected]:author/repo

以上是关于Ubuntu 下的 Git 在 SSH 协议下使用代理的主要内容,如果未能解决你的问题,请参考以下文章

WinSCP无法连接VMware下的ubuntu16.04

如何在Visual Studio中配置git

如何在windows上安装并使用git

初学者在ubuntu下安装使用git(下)

如何在mac下远程搭建git服务器

Windows平台下搭建Git服务器的图文教程