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,确保只使用指定的密钥进行认证,而不使用默认的密钥。
本文来自博客园,作者:南宫影,转载请注明原文链接:https://www.cnblogs.com/nangongying/p/19175962

浙公网安备 33010602011771号