Git在http代理中使用ssh

公司内外统一使用192.168.16.178:8080的http代理,导致git的21端口无法在命令行连接到github上,于是想到使用http代理ssh,废话不多说了大笑,下面写一下我的做法

安装Git


这个具体怎么做在这里找大笑

生成密匙

ssh-keygen -t rsa -C 'your email' #生成两个文件 id_rsa id_rsa.pub



把其中的后缀是pub的文件内容以文本方式打开放到github的ssh keys中
要在本地导入你自己的私匙id_rsa导入到ssh-agent中方法
eval $(ssh-agent) #一定要先执行这一句话否则会报出无法连接到agent server的错误
ssh-add XX # XX 刚刚生成的那个id_rsa文件的路径
现在为止如果不是在代理环境下应该就直接可以开发git之旅了。
但是,但是,总有那么几个特殊的情况让你纠结发火,我们就是不能使用22端口。
git -T git@github.com #奶奶的连不上啊,我去年买了个真皮包

现在请参考这么几篇篇博客

1.http://www.zeuux.com/blog/content/1226/ 按照他说的我是没有成功

2.https://github.com/jixiuf/org-mode-files/blob/master/git/git-proxy-on-windows.org  这是个大神羡慕啊,解决了我的http代理连接ssh的问题。

下面我附上我遇到的问题以及它的解决方案

  1. 每次启动shell时都要启动一个ssh-agent然后才能使用其中的私匙,可以放到bash的启动的脚本中
    # start the ssh agent
    eval $(ssh-agent)
    
    # import ssh key
    RSA_PATH="/d/TortoiseGit/.ssh/rsa/"
    for file in  `ls $RSA_PATH`
    do
    	ssh-add $RSA_PATH"/"$file
    done


  2. “Warning: Permanently added to the list of known hosts” message from Git
    这种情况就是没加入主机的信任列表,google一下吧。
  3. 每次启动一个git-bash时都会新启动一个ssh-agent当启动多个时git-bash并且关闭之后ssh-agent会有多个进程仍然在运行着,下面附上解决方案
    trap "kill $SSH_AGENT_PID" #在启动ssh-agent后面加上这么一句,每次退出git-bash事,输入quit或者exit时就会把该shell启动的ssh-agent杀掉。

声明

博客尽量转载,我看到过好多复制黏贴的博客实在是错误多多发火,copy没什么技术含量,转载吧,只保留一份引用。另外吐槽一下“度娘”是在是太屎了,“谷歌”还是依然很强大!!

若您初次使用SSH进行Git操作,可以按照以下步骤进行设置: 1. 首先,确认您已经生成了SSH密钥对。您可以通过运行命令`ls -al ~/.ssh`来检查是否已经存在SSH密钥。如果该目录下没有`id_rsa`和`id_rsa.pub`文件,则需要生成新的SSH密钥对。 2. 若要生成新的SSH密钥对,可以运行以下命令: ``` ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 这里将"your_email@example.com"替换为您在Git平台上注册的邮箱地址。按Enter键接受默认值,生成密钥对。 3. 然后,运行命令`ssh-agent`来启动SSH代理。 4. 添加您的SSH私钥到SSH代理使用以下命令: ``` ssh-add ~/.ssh/id_rsa ``` 5. 现在,打开您的Git平台(例如GitHub或Gitee)的设置页面,找到与SSH相关的选项。 6. 在Git平台上,将您的公钥(`id_rsa.pub`文件的内容)添加到您的账户的SSH密钥列表。详细步骤请查阅Git平台的文档。 7. 一旦您的SSH密钥设置完成,您可以使用SSH协议来进行Git操作。例如,通过以下命令将远程仓库的URL修改为SSH协议: ``` git remote set-url origin git@github.com:user/repo.git ``` 将`user/repo.git`替换为您的远程仓库地址。 现在,您可以使用SSH协议进行Git操作,无需每次输入密码。请注意,这只是一个简单的示例,具体步骤可能因Git平台和操作系统而异。请根据您的实际情况进行相应调整和参考提到的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值