目录
1 前言
许多Git服务器都使用SSH公钥进行认证,为了向Git服务器提供SSH公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。
2 SSH密钥
2.1 生成密钥
在Windows下打开git bash或者在Linux的终端下输入以下命令:
ssh-keygen // 生成密钥的命令,然后它会要求你输入两次密钥口令,如果你不想在使用密钥时输入口令,将其留空即可。
当然也可以加上一些密钥参数,如下。
ssh-keygen -t rsa -C "[email protected]"
-t rsa:这个参数指定了要生成的密钥类型。-t 代表 “type”,而 rsa 是一种广泛使用的公钥加密算法,以其安全性和易用性著称。RSA 密钥通常用于SSH认证,因为它们提供了较高的安全性。
-C:这个参数后面通常跟随一个字符串(但在你给出的命令中没有直接给出字符串),用于为新生成的密钥添加注释。这个注释可以是任何文本,通常用于标识密钥的拥有者或用途,我一般会添加邮箱地址作为标识。
2.2 查看密钥
生成密钥后,在Windows下,默认保存在你的账户名下,如“C:\Users\zhangsan.ssh”,而Linux在“~/.ssh”。
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
id_dsa里边保存的是私钥,不要泄露给其他人,id_dsa.pub保存的是公钥,可以添分享给 Git 服务器管理员,公钥信息如下。
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== [email protected]
2.3 关联Git服务器
我们常用的Git服务器有github/gitlab/gitee,需要将id_rsa.pub公钥中的内容完全拷贝到你想添加的Git服务器的配置中,如下图是gitlab上的SSH keys配置。
添加完之后,如果想要验证是否添加成功,可以输入以下命令进行确认。
ssh -T [email protected] //验证gitee
如下图,返回信息“You’ve successfully authenticated, but GITEE.COM does not provide shell access.”,代表我们已经添加成功了。
3 小结
大家在使用Git工具和Git服务器时,SSH keys一般都会用到,希望本章内容可以帮到大家。
版权归原作者 Victor随笔集 所有, 如有侵权,请联系我们删除。