前言
什么是ssh:ssh是Secure Shell(安全外壳协议)的缩写,建立在应用层和传输层基础上的安全协议。为了便于访问github等托管平台,要生成ssh公钥,这样就不用每一次访问github都要输入用户名和密码。
生成步骤:
1、安装git,本地成功安装了git后,单击鼠标右键,选择Git Bush here,打开git bush。
2、进入命令界面后,首先检查你的电脑是否已经有SSH Key?
$ cd ~/.ssh $ ls
检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果已经存在,说明你的电脑已经有 SSH Key,如果有并想重新创建,进入步骤3,否则进入步骤4
3、删除用户文件夹下的.ssh文件夹(C盘)
4、创建SSH Key
· 配置全局的name和email,这里是的你的name和email。
git config --global user.name "XXX" git config --global user.email "XXXX@XXX.com"
· 生成key
ssh-keygen -t rsa -C "XXX@XXX.com"
· 获取私钥
cat ~/.ssh/id_rsa
· 获取公钥
cat ~/.ssh/id_rsa.pub
把红框部分复制到需要sshkey的地方添加即可;
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中
· 添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回
Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功!
5、解决 git 的 Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’ 问题.(免密设置)
· 避免每次pull或者push都要输入密码,输入以下命令:
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] 实例:ssh-keygen -p -P 123456 -N '' -f ~/.ssh/id_rsa
· 打开git的bash命令,输入:
vi ~/.profile
· 输入”i”,多行“~~~~~~”上面的插入以下内容:
env=~/.ssh/agent.env agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; } agent_start () { (umask 077; ssh-agent >| "$env") . "$env" >| /dev/null ; } agent_load_env # agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?) if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then agent_start ssh-add elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then ssh-add fi unset env
· 按下“ESC”,在命令行下输入“:wq”。退出即可。