Github SSH 连接注意事项

github/gitlab 仓库没有权限问题

如果没有权限克隆、推送、拉取等操作,需要创建ssh key,创建ssh key注意事项:

1、终端中创建ssh密钥

# 执行这个命令时,如果全程没有输入自定义内容,那么它会自动在/c/Users/Administrator/.ssh/目录下创建名为id_rsa的公钥和私钥,如果在执行这个命令的过程中输入了自定义的密钥名称,那么它会自动在当前目录生成密钥,而不是生成在/c/Users/Administrator/.ssh/或者/c/Users/Administrator。
# 强烈建议在~/.ssh(c:/Users/Administrator/.ssh/)目录下执行该命令
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

终端中会提示:在命令行提示中,输入你希望保存密钥的路径和名称。

Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

其中id_rsa是默认的密钥名称,以及它的默认存储路径,它会自动创建.ssh目录,如果你想自定义密钥名称,比如my_ssh_key,注意如果没有在终端中输入类似示例的完整目录,只是输入自定义密钥名称,那么它不会创建.ssh目录,它会直接存储到执行该命令时的目录,有强迫症的同学记得输入完整的自定义名称以及目录,比如:

Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):c:/Users/Administrator/.ssh/my_ssh_key

接下来,忽略设置密码,一直回车即可。在/c/Users/Administrator/.ssh目录下会生成公钥(my_ssh_key.pub)和私钥(my_ssh_key),把公钥配置到github/gitlab账户。

2、创建结束后,测试连通性

ssh -T git@github.com

这里值得注意的是如果你是自定义的密钥名称,那么在每次执行克隆、pull或者push时终端中都会提示请输入密钥(fingerprint)文件路径,这样非常不方便,一劳永逸的做法就是在~/.ssh/config这个配置文件中添加配置,如果没有就在.ssh目录下创建config文本,添加如下内容:

# 模板
Host <host-alias-这是自定义的>
  HostName <hostname>
  User <username>
  Port <port>
  IdentityFile <path-to-private-key>
  IdentitiesOnly yes
# 示例 1
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/my_ssh_key
  IdentitiesOnly yes

# 示例 2,这个示例是用于连接内网部署的gitlab仓库的,Hostname 内网地址别配置错了
Host 192.168.1.243
  User git
  Hostname 192.168.1.243       
  IdentityFile ~/.ssh/dk_new_pc
  IdentitiesOnly yes

其中:

Host:设置一个别名,方便你通过这个别名来连接。github仓库强烈推荐写默认值github.com ,如果你为 GitHub 配置了一个别名,连通性测试时记得替换这个别名,比如ssh -T git@别名,另外克隆代码以及其他操作时也得换成别名,比如:

# cesium仓库原本地址git@github.com:CesiumGS/cesium.git,克隆时输入
git clone git@github.com:CesiumGS/cesium.git

# 如果使用了自定别名,请修改仓库地址,克隆时输入
git clone git@别名:CesiumGS/cesium.git

HostName:实际的主机名或 IP 地址(例如,GitHub 的地址是 github.com,如果使用的内网部署的gitlab,请填写内网ip地址)。

User:登录时使用的用户名(例如,GitHub 的用户名通常是 git)。

Port:SSH 连接使用的端口,通常为 22,除非你在连接的服务器上配置了不同的端口。

IdentityFile:指定私钥的路径,这对于使用多个密钥时非常有用,粗心的盆友别把公钥填上去了。

IdentitiesOnly:设置为 yes,确保只使用指定的密钥进行认证,而不使用默认的密钥。

posted @ 2025-10-30 09:42  南宫影  阅读(11)  评论(0)    收藏  举报