windows下生成ssh key详解

前言

什么是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”。退出即可。

赞(0) 打赏

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫