Github Gitlab SSH 密钥配置

1. 操作流程

  1. 生成密钥(非对称加密)
ssh-keygen -t rsa -C "your_email@example.com"

注意,这里的 -C 表示注释,没有什么用,主要是标记密钥避免自己遗忘。

  1. 查看密钥(公钥)
//进入所属目录
cd ~/.ssh
cat id_rsa.pub

windows 系统在 C:\Users\用户名\.ssh
3. 将公钥放到 Github 或者 Gitlab 所属位置
4. 验证是否授权成功

ssh -T git@github.com 

2. 问题

Q1:

RROR: You’re using an RSA key with SHA-1, which is no longer allowed.
Please use a newer client or a different key type.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.

Answer: rsa 非对称加密不再被支持。换一个加密算法就行了。

ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"

Q2:

Permissions 0640 for ‘/home/lrkqcd/.ssh/id_ecdsa’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key “/home/lrkqcd/.ssh/id_ecdsa”: bad permissions
Permission denied (publickey).
fatal: Could not read from remote repository.

Answer: 私钥权限的问题,只能文件所属用户有读权限。

chmod 600  id_ecdsa

Q3:

fatal: unable to access ‘https://github.com/zuohaimin/SSR_IMG.git/’: gnutls_handshake() failed: The TLS connection was non-properly terminated.

Answer: 一般来说是网络问题,被墙了。

//取消http代理
git config --global --unset http.proxy
//取消https代理 
git config --global --unset https.proxy

一般来说没啥用。

Q3:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for github.com has changed,
and the key for the corresponding IP address xx.xx.xx.xx
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.

Answer: 上次连接过,主机唯一标识改变了。解决方法有两种:

  • 直接存档删除 .ssh 文件夹下面的 known_hosts 文件。
  • ssh-keygen -R 对应的ip地址

Q4:

ssh: connect to host github.com port 22: Connection refused fatal: Could not read from remote repository.
Answer: 22端口可能被防火墙屏蔽了,可以尝试连接GitHub的443端口。

~/.ssh/config中添加(windows文件为C:\Users\用户名\.ssh\config

# Add section below to it
Host github.com
  Hostname ssh.github.com
  Port 443
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值