Github 等代码托管平台配置 ssh

问题简述

使用 Github 做代码托管服务平台做开发,每次执行 push 命令时,都需要输入账号和密码,有时还登录不上,所以需要配置一下本地的 git,把连接从 https 改为 ssh,这样就省去了很多麻烦。

解决方案

生成机器公钥

打开命令行,进入 .ssh 目录,生成秘钥。

# 下面的目录指的是用户目录(根据具体情况替换),如果没有 .ssh 检查目录是否被隐藏
cd C:\Users\Administrator\.ssh

# 生成秘钥
ssh-keygen -t ed25519

在 GITHUB 上配置

点击右上角的头像,选择 settings,可以看到如下界面:

cid_179_1.png

选择新建 SSH key,然后把刚刚生成的公钥粘贴至此。

cid_179_2.png

操作是否成功的检查如下:

# 在命令行输入
ssh -T git@github.com

# 成功的结果为
# Hi henrenx! You've successfully authenticated, but GitHub does not provide shell access.

配置客户端的连接

这步的目的是把原有仓库的 https 协议的连接修改成 git 协议的连接。如果还没有创建仓库,可以在 github 上先创建完毕,再使用 git 协议的 url 把仓库克隆下来。这样就不必再修改配置了,不过可以拿下面的命令进行验证。

# 查看当前的远程链接(需在有 git 仓库的目录下执行):
git remote -v

# 设置链接为 ssh
git remote set-url origin git@github.com:henrenx/exam.git

# 如果未配置 ssh,结果应是 https 类型的
# origin https://github.com/henrenx/exam.git (fetch)
# origin https://github.com/henrenx/exam.git (push)

# 配置了 ssh 后,结果是 ssh 类型的
# origin  git@github.com:henrenx/exam.git (fetch)
# origin  git@github.com:henrenx/exam.git (push)