TGit里怎么设置SSH密钥和HTTPS用户名密码
发布网友
发布时间:2022-04-25 00:04
我来回答
共1个回答
热心网友
时间:2023-10-16 14:18
1. ssh的认证不要使用Tortoise自带的,一定要使用git的openSSH的方式,这一点很重要。如果你已经指定了Tortoise的方式,那么通过修改环境变量GIT_SSH就可以了,当然重装也是一种办法。
2. 配置时使用git bash来操作。
3. 通过执行
ssh-keygen -t rsa
创建公私钥,文件就保存在~/.ssh/id_rsa下就行了。执行时一路回车就好了。
4. 创建ssh的config文件,如:
vi ~/.ssh/config
内容为:
Host github.com
ProxyCommand ~/.ssh/ssh-https-tunnel %h %p ~/.ssh/proxyauth
Port 443
Hostname ssh.github.com
这里你可以看到第二行最后有一个~/.ssh/proxyauth。这是因为我单位的代理有口令,所以要再生成一个proxyauth文件,格式就是:username:password。如果你没有,去掉它就行了。
同时Hostname的目的是为了创建一个别名,其实我们使用的是ssh.github.com,但是因为平时都使用git@github.com,所以为了不进行修改,创建一个别名。
5. 下载ssh-https-tunnel,可以从 http://zwitterion.org/software/ssh-https-tunnel/ssh-https-tunnel ,保存到你的git的~/.ssh目录下
同时要打开这个文件进行修改,将:
my $proxy = "";
my $proxy_port = ;
改成你的实际的代理服务器地址。
6. 使用ssh git@github.com 来测试
Hi limodou! You've successfully authenticated, but GitHub does not provide shell
access.
Connection to ssh.github.com closed.
这里的难点一个是代理认证的配置,这是我在网上搜到的。还有就是GIT_SSH的设置。如果安装了TortoiseSVN,选择了ssh客户端,那么有可能ssh的代理设置通过,但是git使用时会出错,因为它会去看环境变量。