使用环境
Ubuntu-PC,github/gitee
SSH密钥
shell 协议 (Secure Shell Protocol --> SSH) 来连接 GitHub,SSH 能在不安全的网络中提供一个安全的通道。
查看是否存在SSH密钥
ls -l ~/.ssh
查看git配置信息
git config -l
如果没有则生成SSH密钥
ssh-keygen -t rsa -C "your_email@example"
一路回车操作,不需要输入密码
GIT添加密钥
复制密钥
cat ~/.ssh/id_rsa.pub
添加密钥
进入个人git主页,点击个人头像图标,进入Settings设置。
会出现个人主页设置界面,点击SSH and GPG keys选项,将id_rsa.pub内容复制到SSH keys 选项下。
其中Titel填写描述标签。
最后点击Add SSH Key,即可完成。
测试SSH连接
ssh -T [email protected]
会出现下面内容
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
> Are you sure you want to continue connecting (yes/no)?
出现错误或者反复输入密码都是错误
则测试HTTPS端口的SSH是否可行
$ ssh -T -p 443 [email protected]
如果还不行,则进行权限被拒绝。
如果出现
You've successfully authenticated, but GitHub does not provide shell access.
则需要启用通过HTTPS的SSH连接
在~/.ssh/config,如果没有这个文件,自己创建一个不带后缀的config文件。
Host github.com
Hostname ssh.github.com
Port 443
User git
最后测试
ssh -T [email protected]
下载git仓库
选择ssh下载链接,即可愉快的玩耍拉!
其他问题
问题1描述:
解决no matching host key type found. Their offer: ssh-rsa报错信息具体方法
在config配置文件中加入一些配置
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
保存即可。
问题2描述:
Git missing Change-Id in commit message footer解决方法
执行下面流程即可
gitdir=$(git rev-parse --git-dir);
# 将xxxxx@xxxx 替换成相应用户名、服务器即可(该命令从服务器拷贝commit-msg文件)
scp -p -P 29418 xxxxx@xxxx:hooks/commit-msg ${gitdir}/hooks/
# 再提交一次即可生成change-id
git commit --amend