为 git 添加 ssh 方式提交

发布于 2022-03-13 15:12:05 字数 2533 浏览 1342 评论 0

不用每一次 push 的时候都输入用户名密码

原理

效果:

可以做到多个 git 协议的网站同时使用的效果
可以做到一个 git 协议网站的多个帐号同时使用的效果

步骤

  1. Mac/Linux 打开命令行终端,
    Windows 打开 Git Bash 。这个git Bash在安装了git命令行之后会有
    输入ssh-keygen -t rsa -C "username@example.com",提示信息基本上按默认即可(也可以输入密码)实测发现即使是私有项目,也不需要输入密码
  2. 会在你的个人目录下的.ssh目录下生成id_rsaid_rsa.pub
  3. id_rsa.pub里面的内容粘贴到你的网站的public_key放置的地方
  4. 测试 ssh -T git@github.com 如果不是此处根据你的git协议网站不同而不同
  5. 会出现类似的确认信息

    The authenticity of host 'git.xxx (121.xx.126.86)' can't be established.
    RSA key fingerprint is SHA256:xxxxxxJ6qvE7iPNehBgXRw51ErE77S0Dn+Vg/Ik.
    Are you sure you want to continue connecting (yes/no)? yes

  6. 选择 yes,提示成功信息。
  7. 修改remote origin 为 ssh形式 ,推荐用 git remote 命令,也可以直接修改 .git目录下的config文件 ,把类似https://github.com/p2227/p2227.github.io.git的网址改成 git@github.com:p2227/p2227.github.io.git
  8. 推送文件

    git add --all
    git commit -m "test ssh"
    git push origin master

完成~

其他配置

  • 不想文件名叫 id_rsa ,可以在ssh-keygen的时候用参数-f 去指定,例如ssh-keygen -t rsa -C "username@example.com" -f ~/.ssh/github
  • 为不同的网站指定不同的key。修改~/.ssh/config 文件增加不同的配置即可(需要利用上面命令生成不同的文件),例如
Host git.coding.net
User username@example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/coding_rsa

Host github.com
User username@example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
  • 同一平台的多个帐号 ,原理基本同上,需要增加配置项目,example:
Host aaaaaa.github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_aaaaaa
Host bbbbbb.github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_bbbbbb

参考

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

遂心如意

文章 0 评论 0

5513090242

文章 0 评论 0

巷雨优美回忆

文章 0 评论 0

junpengz2000

文章 0 评论 0

13郎

文章 0 评论 0

qq_xU4RDg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文