Git使用手册/Git教程:生成SSH Key

检查本机是否已经存在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 “[email protected]
其中xuzhangzheng和[email protected]为你在gitHub或gitlab的用户名和邮箱,如图所示:

使用命令生成公钥私钥:

ssh-keygen -t rsa -C “[email protected]
这时会出现如图粉色框选部分的提示: 
当出现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和[email protected]两个文件,即为公钥和私钥。
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公钥
关于GIT 工作区、暂存区、本地仓库、远程仓库的概念及关系,请参考文章:Git使用手册:工作区、暂存区、本地仓库、远程仓库
关于GIT 从远程仓库下载项目到本地工作区的操作,请参考文章:Git使用手册:git clone 克隆下载远程仓库项目工程到本地工作区

关于GIT Checkout的使用,请参考文章:Git使用手册:git checkout 创建分支、切换分支

关于Git status命令使用解读,请参考文章Git使用手册:git status 查看本地工作区、暂存区中文件的修改状态

关于Git diff和Git add命令使用,请参考文章:Git使用手册:git diff 、 git add 、 git diff --cached 命令详解

关于Git commit命令使用详解,请参考文章:Git使用手册:git commit -m/-am/-a -m 提交文件至本地仓库区

关于Git fetch命令使用,请参考文章:Git使用手册:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地

关于Git pull命令使用,请参考文章:Git使用手册:git pull origin 拉取代码到本地,解决拉取代码时发生的文件冲突

关于Git push命令使用,请参考文章:Git使用手册:git push 推送提交本地仓库代码文件到远程仓库

关于Git log命令使用,请参考文章:Git使用手册/Git教程:git log 查看git提交日志记录




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

猜你喜欢

转载自blog.csdn.net/u013374164/article/details/78422968