GIT - SSH认证配置

GIT 的认证配置 有 SSH和HTTP两个选择,选择不同的选项会有不同的链接

git开头的url,就是是用 SSH key的方式进行认证,SSH的传输协议能支持更大的文件数

http开头的url,就是使用http方式进行认证的,需要在操作的时候输入用户名和密码

这里统一介绍下SSH key的配置,在其他文档的各个地方都有提及,这里完整梳理下(key可以添加多个,用于不同的机器及客户端),前提是已经安装了git 和 TortoiseGit(小乌龟)

一、windows

1.使用小乌龟(这个key只适用小乌龟)

新建一对公钥与私钥

步骤一:在开始菜单中找到Puttygen;

使用Puttygen生成的ppk密钥,在Linux下无法使用。如果希望在密钥对可以在多个环境使用,应该在linux下使用ssh-keygen生成密钥对,再通过Puttygen导入。

步骤二:点击“generate”按钮,在上方的空白区域持续滑动鼠标,来生成key;

步骤三:分别点击“Save public key“和”Save private key“按钮,保存公钥和私钥;

如果希望设置密码,需要在Key passphrase和Confirm passphrase文本框输入密码。通常可以不必设置。

步骤四:将公钥添加到Git服务器。Gitlab可以通过界面配置。

这里注意,直接打开导出的public文件复制可能会由于格式不对而无法添加,可以直接复制

这里的内容

步骤五:创建Pageant快捷方式,放入启动项中,确保开机时自动加载私钥。

1)在C:\Program Files\TortoiseGit\bin找到pageant.exe,发送到桌面快捷方式;

2)编辑pageant.exe快捷方式,在”目标“中增加私钥ppk文件位置,作为pageant.exe的参数;

3)将pageant.exe快捷方式放入Windows开始菜单的”启动“项中,以便系统启动时启动加载key。

导入现有私钥

有时候,可能已经有了一个在使用的OpenSSH格式的私钥,若要在TortoiseGit中使用这个私钥,可以用Puttygen导入。

成功导入后,再按照前一节中第三步骤开始执行配置即可。

2.使用自带的GUI或者smartgit

步骤一:使用GUI工具生成KEY

安装msysgit之后,右键可以查看到,点击GIT GUI



这里点击show SSH Key,可以看到key界面,如果已经生成过key,会将公钥显示出来,否则可以点击Generate Key生成一个

(这里注意,点击Generate Key的时候,会提示输入密码,意思是说,是否要为key密钥增加密码认证,如果配置了密码后续使用密钥的时候也需要输入密码,可以直接不填点击确定)

步骤二:将公钥复制添加到Gitlab

二、Linux/ MAC OS

步骤一:用ssh-keygen生成一对密钥;

$ssh-keygen
Generating public/privatersa key pair.
Enterfileinwhichto save the key (/home/gituser/.ssh/id_rsa):/home/gituser/path/to/keydir/gitlab
Enter passphrase (emptyforno passphrase):
Enter same passphrase again:
Your identification has been savedin/home/gituser/path/to/keydir/gitlab.
Your public key has been savedin/home/gituser/path/to/keydir/gitlab.pub.
The key fingerprint is:
79:30:6c:10:96:85:48:9a:b2:5f:85:2e:a6:70:06:0a gituser@computer.local
The key's randomart image is:
+--[ RSA 2048]----+
|   ...+=.        |
|   o.ooo         |
|E o . . =        |
|o+ . . . +       |
|+ = o   S .      |
|.* o     .       |
|. .              |
|                 |
|                 |
+-----------------+

 

步骤二:编写用于给GIT加载私钥的脚本(如/home/gituser/local/gitkey.sh);

#!/bin/bash
/usr/bin/ssh-i ~/path/to/keydir/gitlab"$@"

注意设置gitkey.sh的权限。

$chmod+x/home/gituser/local/gitkey.sh

 

步骤三:在环境变量(~/.bash_profile,Ubuntu中为~/.profile)中配置GIT_SSH变量;

exportGIT_SSH=$HOME/local/gitkey.sh

 

步骤四:新开一个shell,或者重新加载环境变量。

$source~/.bash_profile


anchor.gif


 


转载于:https://my.oschina.net/niejimao/blog/500758

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值