【GitHub】使用SSH与GitHub交互
SSH的优势
- 安全性更高
- 基于非对称加密(公钥/私钥),比用户名+密码登录更安全。
- 私钥只保存在本地,不会传输到网络上,避免了密码泄露风险。
- 免输入密码(更便捷)
- 配置好 SSH Key 后,使用 git push / git pull 等命令时无需每次输入用户名和密码。
- 对频繁操作 GitHub 仓库的开发者来说效率更高。
- 更适合自动化场景
- 在 CI/CD、自动化脚本、服务器部署场景下,SSH 可以让脚本无需人工输入密码。
- 特别是在服务器(Linux)上部署时非常常见。
- 更好地支持双因素认证(2FA)
- GitHub 如果开启了 双因素认证,HTTPS 需要用 Personal Access Token 代替密码;
- 而使用 SSH 就不受影响,依然能无缝 push/pull。
- 稳定性更好(某些环境下)
- 在公司内网、服务器环境下,有时 HTTPS 访问 GitHub 会被代理或防火墙限制;
- SSH 使用 22 端口,通常在服务器上更稳定。
怎么使用
1.生成一对新的密钥
ssh-keygen -t ed25519 -C "你的邮箱"
- -t ed25519 是推荐的算法(也可用 rsa)。
然后按提示一路回车,默认会生成在 ~/.ssh/id_ed25519。
注意:密码如果不为空,以后同步时需要输入该密码。
2.复制你的公钥内容
3.将公钥内容添加至GitHub中
4.使用git方式同步代码
git clone git@github.com:JimmyXXX/xxx.git
如果你的项目已经克隆了,可以切换远程地址:
git remote set-url origin git@github.com:JimmyXXX/xxx.git