git密匙有什么用_使用SSH密钥连接Git仓库

检查SSH密钥是否存在

打开Git Bash,执行下面的命令,显示.ssh目录下的所有文件:

ls -al ~/.ssh

如果该目录下已经存在密钥对(比如,id_rsa.pub/id_rsa是一对公/私钥),可跳过下一步直接添加密钥到ssh-agent。

生成新的SSH密钥

打开Git Bash,执行下面的命令,其中,邮箱是Git仓库中使用的账号所对应的邮箱

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

弹出下面的提示信息,如果需要修改密钥文件位置或名称,可以输入新的路径;直接回车使用默认路径

Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter or new path here]

接下来提示输入密码,直接回车不需要密码。仍然建议输入密码,否则,任何有电脑操作权限的用户均可以直接用你的账号向仓库提交代码,而不需要任何验证

Enter passphrase (empty for no passphrase): [Press Enter or Type a passphrase here]

Enter same passphrase again: [Press Enter or Type a passphrase again here]

密码输入完成后,提示生成成功,并显示密钥指纹信息;此时在前面指定的目录下会看到有两个新的文件:id_rsa.pub/id_rsa

Your identification has been saved in id_rsa.

Your public key has been saved in id_rsa.pub.

The key fingerprint is:

b1:6b:d3:21:e2:cf:45:4a:37:80:a4:e4:d5:76:69:21 your_email@example.com

The key's randomart image is:

+--[ RSA 4096]----+

| . o.E .o |

| o + .o.+ |

| o ..oo |

| + |

| . S = |

| . o B o |

| . = o |

| + o |

| o |

+-----------------+

添加密钥到ssh-agent

启动ssh-agent

打开Git Bash,执行以下命令启动ssh-agent

ssh-agent -s

Note:

使用msysgit Bash on Windows时,需要执行下面的命令才能成功启动。否则接下来使用ssh-add时会出现Could not open a connection to your authentication agent的错误。引用

eval `ssh-agent -s`或eval $(ssh-agent -s)

将密钥添加到ssh-agent

ssh-add ~/.ssh/id_rsa

添加密钥到Git仓库使用的账号(以GitHub为例)

将生成的公钥id_rsa.pub中的内容复制到剪贴板中(或者打开Git Bash,执行以下命令:)

clip < ~/.ssh/id_rsa.pub

登陆GitHub,点击右上角头像,依次进入Settings->SSH keys,点击Add SSH key,在Title中输入密钥描述信息,如“个人笔记本密钥”,在Key中输入刚才复制的公钥,点击Add key,添加公钥

验证连接

正式使用SSH密钥访问Git仓库前,最好验证密钥是否能成功连接到Git服务器。

打开Git Bash,执行下面的命令(将your-git-server-domain替换成实际的Git服务器地址)

ssh -T git@your-git-server-domain

命令执行后,显示下面的警告,确认密钥的指纹信息后,输入yes

The authenticity of host 'github.com (207.97.227.239)' can't be established.

# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

# Are you sure you want to continue connecting (yes/no)?

显示下面的信息,确认用户名(username)为自己的,则表示已成功配置SSH密钥

# Hi username! You've successfully authenticated, but GitHub does not

# provide shell access.

其他

修改密钥密码

ssh-keygen -p

切换现有Git仓库地址

git remote -v

git remote set-url origin your-git-repository-address

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值