Git使用手册:生成SSH Key

来源:互联网 发布:淘宝详情页编辑器 编辑:程序博客网 时间:2024/05/18 16:18

检查本机是否已经存在ssh key配置

使用目录及文件方式验证

进入~/.ssh/目录

cd ~/.ssh/

若没有该文件夹,则会提示No such file or directory,则表明无此配置。

若有该文件夹,会进入到文件夹中,此时使用ls查看文件夹内容。

若如图所示存在1个以上文件,且存在2个文件名相同扩展名不同得文件,则表示之前存在过ssh key配置。

生成ssh key方式验证

可以参考后续生成ssh key的内容。


生成SSH key

使用命令设置git的username和email:

git config --global user.name “xuzhangzheng“
git config --global user.email “xuzhangzheng@ljldata.com”
其中xuzhangzheng和xuzhangzheng@ljldata.com为你在gitHub或gitlab的用户名和邮箱,如图所示:

使用命令生成公钥私钥:

ssh-keygen -t rsa -C “xuzhangzheng@ljldata.com”
这时会出现如图粉色框选部分的提示: 
当出现Enter file in which to save the key时,直接敲回车即可。
注意:该句询问的是你是否要将生成的密钥存入名为id_rsa的文件中。
敲回车的话相当于使用默认名称id_rsa。
此处也可以输入自定义名称,输入完毕后敲回车即可。
当出现Enter passphrase (empty for no passphrase)时,直接敲回车即可。
注意:该句是询问你是否要设置密码,该密码允许为空。所以不设置的话直接敲回车即可。
当出现Enter same passphrase again时,直接敲回车即可。
注意:该句是提示你输入之前设置得相同得密码,若之前设置了密码,则该处需要填写相同的密码;若之前未设置密码,此处直接敲回车即可。
上述操作完毕后,若出现如图中绿色框选提示及框选下方得提示,表示已生成ssh key。
执行完成后,出现如下画面即为生成密钥成功: 
同时,在~/.ssh/目录下会生成2个文件:id_rsa和id_rsa.pub ,如图所示:

id_rsa为生成的私钥,id_rsa.pub为生成的公钥。
后续会使用到私钥和公钥。
注意:
若在生成过程中,若出现如下图提示的话,请看后续解决方案:

若电脑之前已经配置了ssh key的话,且存储公钥、私钥的文件名称也是默认的id_rsa命名的。当你在生成ssh key,出现Enter file in which to save the key提示是否需要修改存储公钥私钥文件名称时,若使用的是默认的文件名称id_rsa的话,会出现如下提示:/c/User/Administrator/.ssh/id_rsa already exists     Overwrite(y/n)?
表示该文件已存在,是否覆盖。
针对这种情况有3种解决方案:
1)在生成ssh key提示Enter file in which to save the key时,不使用默认生成的文件名称id_rsa。如图:

框选的部分便是自己设置的文件命名,同时生成ssh key后,我们在~/.ssh/目录下ls查看一下内容,可以看到有xuzhangzheng@ljldata和xuzhangzheng@ljldata.pub两个文件,即为公钥和私钥。
2)进入~/.ssh/文件夹中,执行rm 文件名命令,删除指定文件后即可再生成存储公钥和私钥文件。如图:便没有提示是否需要重写覆盖已存在文件的选项。

3)在提示/c/User/Administrator/.ssh/id_rsa already exists     Overwrite(y/n)?输入y,选择重写之前的文件。如图: 

重写后使用ls在~/.ssh/查看内容,如图: 

注意:如果选择重写覆盖之前的文件的话,之前配置的ssh key就无法继续使用了,故请谨慎选择。
其中第二点和第三点产生得结果是一样的,都可以实现生成ssh key的目的,但都存在一个问题,一但这样操作的话,在此之前的账户就无法使用了,因为公钥和私钥不存在了。
若使用第二点,不会出现是否重写覆盖之前文件的提示,原因是因为直接把之前的ssh key文件删除了,使用默认名称id_rsa时系统检测不存在该名称的文件,故可以生成ssh key 。
若使用第三点,直接重写覆盖id_rsa文件,也能达到重新生成公钥和私钥的目的 。

至此,本机的ssh key已经生成好了。

关于SSH Key的使用和公钥在gitHub、gitLab的配置等,请参考我的文章:Git使用手册:使用SSH Key及配置SSH key公钥


如您有其他问题,希望可以通过留言得形式及时交流,有书写错误和可优化的地方也希望及时提出,感谢。

原创粉丝点击