git ssh key 配置

参考文章

github adding a new ssh key

ssh key config

方法

与远程仓库的交互推荐通过 ssh 协议。还有一种token方式也可以,自行研究一下。

sshkey的方式是一个 public key 一个 private key。

一个在你的本地,一个在远程服务器上。

一个锁,一个钥匙。

一个钥匙打开你在互联网上所有的锁。

创建一个 ed25519 的 ssh key。

1
2
3
4
ssh-keygen -t ed25519 -C "your_email@example.com" -f "key_file_name"

# 一个示例
ssh-keygen -t ed25519 -C "test@example.com" -f "my_github_ed25519_key"

如果不要密码就一直回车。

要密码就是执行命令以后输入两遍。

一般生成两个key,一个没有密码一个有密码,生成两次,取不用的文件名称。

带密码的话,就是你每次用这个钥匙都要输入这个密码。

这里的没有pub的就是private key 就是你的钥匙。

这里的有pub 的就是public key,他们是一对,你把public提交到github的网站上,private放在你的本地验证。这么个逻辑。

保存到你认为安全的位置,不管多少设备都可以用同一套key。

但是别公开到公网上。

放到公网上就是谁都有你的钥匙,害不害怕。你的代码可以随意被人读取和修改。

把public key 的文本内容复制到

github/settings/SSH and GPG keys - New SSH key

这个就是远程的配置。

非常重要的一个本地核心配置就是 ~/.ssh/config

1
2
3
4
5
Host github.com
User git
HostName github.com
IdentityFile ~/.ssh/your_private_key  # 这里放你的private key
ProxyCommand ncat --proxy-type socks5 --proxy host:port %h %p # 配个代理

验证测试方法

1
2
ssh -T git@github.com
# 输出内容可以看到你有没有成功连接。

总结

  1. 生成一个ed25519的key
  2. 把public key放到github,private放到本地
  3. 写ssh config
  4. 使用ssh -T 测试
Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy