生成和配置git ssh key

使用SSH协议,您可以连接和验证远程服务器和服务。使用SSH密钥,您可以连接到GitHub,而无需在每次访问时提供用户名或密码。
设置SSH时,您将生成SSH密钥并将其添加到ssh代理,然后将密钥添加到您的GitHub帐户。将SSH密钥添加到ssh代理可以确保您的SSH密钥通过使用密码来增加安全性

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 --百度百科

下面重新生成一个GitHub的ssh key ,我在Ubuntu server 演示过程,在Windows还需要安装git,我就嫌弃麻烦了。

生成一个新的SSH密钥
root@lan:brisk# ssh-keygen -t rsa -b 4096 -C "1076963452@qq.com"

Generating public/private rsa key pair.这将创建一个新的ssh密钥,使用提供的电子邮件作为标签。
Enter file in which to save the key (/root/.ssh/id_rsa): 当系统提示您输入要保存密钥的文件时,按Enter键。这接受默认的文件位置
/root/.ssh/id_rsa already exists.当前系统已经存在了,是否替换原文件
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 在提示符下,键入安全密码(比如123456)
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
22:c7:c6:a9:2xxxxxxxxxx49:52:b6:e0:95:6c 1076963452@qq.com 
The key's randomart image is:
+--[ RSA 4096]----+
|    . .          |
|   . E           |
|  . .* .          |
|   o =. .         |
|    + O S        |
|   . B o         |
|. . + o          |
|.o o ...           |
|o=+              |
+-----------------+

查看上面生成的key

root@lan:brisk# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCumeCkhUoXSP62nsXNZm5KVImqZ5DIOvs0uP4HkdRKyVVvLzhRZMHEq2ZVKmnf+FaZiWs8OrjCq+ihZnuFereSkQ^^8Q8R3e3b6ZQ++7w== 1076963452@qq.com

将新生成的ssh key 添加到GitHub


      在github账号的setting”,找到添加SSH key的菜单,然后新增SSH key;把文件id_rsa.pub  里面的内容全部复制到 key编辑框中,保存完毕,保存后如下图:


测试key有效性

ssh -T git@github.com
The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is 16:27:ac:a5:7xxxxxxxx6:4d:eb:df:a6:48. 
Are you sure you want to continue connecting (yes/no)? yes 确认是否继续
Warning: Permanently added 'github.com,192.30.255.112' (RSA) to the list of known hosts.
Enter passphrase for key '/root/.ssh/id_rsa': 输入刚才生成key时输入的密码,没有的话直接回车
Hi brisk21! You've successfully authenticated, but GitHub does not provide shell access.

成功了,上面标红色的出现就是成功了。再次查看GitHub的ssh key已经变绿色了(说明配置有效),可以git了。

可以看下一篇linux git 基础


评论/留言