优点:
提高安全性和便利性:使用SSH密钥对而不是传统的密码进行身份验证,可以增强安全性。 因为私钥是不会被传输的,仅在本地计算机上使用。 这样即使传输过程中的数据被拦截,没有对应的私钥,数据也无法被解密。
简化操作流程:配置SSH后,每次提交代码时不需要重复输入用户名和密码,这大大简化了操作流程,提高了开发效率。
具体步骤
1.检查本地SSH密钥
在git bash
使用如下命令 看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key
cd ~/.ssh ls
出现下文内容证明已经存在ssh key
若不存在,则
2. 生成 ssh key
使用命令生成新的密钥对。
ssh-keygen -t rsa -C "youremail@example.com"。 // 其中,youremail@example.com应替换为你的邮箱地址 // 执行后一直回车即可
3. 获取并保存公钥内容
生成以后返回第一步检查是否成功生成,确认生成之后,使用命令查看并保存公钥内容。
cat id_rsa.pub
4.添加公钥到GitHub账户
GitHub添加SSH Key: 登录GitHub账号,进入Settings页面,找到SSH and GPG keys部分,点击“New SSH key”,粘贴刚刚复制的公钥内容,并为该密钥对起一个标题。
5.验证SSH设置是否成功
在终端或Git Bash
中输入命令
ssh -T git@github.com
如果看到类似于下图的“Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.”的提示信息,则说明SSH密钥配置成功。
设置成功后,即可不需要账号密码clone和push代码。再之后clone仓库的时候改成使用ssh的url,而不是https就可以了!
SSH工作原理
非对称加密保证安全: SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥。 公钥放到远程主机,私钥保存在本地。 当本地主机需要登录远程主机时,通过一系列加密解密过程完成身份验证。
针对每台主机的配置:SSH key的配置是针对每台主机的,如果换了一台新主机想要实现无密登录,就需要重新配置。