参考文章
方法
与远程仓库的交互推荐通过 ssh 协议。还有一种token方式也可以,自行研究一下。
sshkey的方式是一个 public key 一个 private key。
一个在你的本地,一个在远程服务器上。
一个锁,一个钥匙。
一个钥匙打开你在互联网上所有的锁。
创建一个 ed25519 的 ssh key。
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
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 # 配个代理
验证测试方法
ssh -T git@github.com
# 输出内容可以看到你有没有成功连接。
总结
- 生成一个ed25519的key
- 把public key放到github,private放到本地
- 写ssh config
- 使用ssh -T 测试