Git配置SSH密钥与私钥保姆级教程 跨平台完整步骤新手轻松搞定

文章目录CloseOpen

    • 先搞懂:SSH密钥到底是啥?为啥一定要配置?
    • 三大系统分步走:从生成到验证全流程
      • Windows系统:别再找“Git Bash在哪里”了
      • Mac/Linux系统:终端其实很好用
      • SSH密钥和HTTPS链接有啥区别?为啥推荐用SSH?
      • Windows系统里的Git Bash在哪里找?找不到咋办?
      • 生成SSH密钥时,ssh-keygen命令里的-t rsa -b 4096是啥意思?用默认参数行不行?
      • 复制公钥的时候要注意啥?漏了字符会咋样?
      • 验证SSH连接时弹出“Are you sure you want to continue connecting (yes/no)?”是啥意思?要输yes吗?

    先搞懂:SSH密钥到底是啥?为啥一定要配置?

    其实SSH密钥就像你家的“钥匙+锁”组合:公钥是“锁”,你要挂在GitHub、GitLab这些远程平台上;私钥是“钥匙”,得老老实实存在自己电脑里。每次Git要连接远程仓库,就会用私钥去“开”公钥的锁——这样不用输密码,也能保证连接安全。

    我之前嫌麻烦,坚持用HTTPS链接,结果每次拉代码都要输密码,有时候手快输错了,还要重新来;后来配置了SSH,才知道“无密码连接”有多香。GitHub官方文档里也明确说,SSH是推荐的连接方式——比HTTPS更安全,因为密码可能被截获,但密钥是加密的,别人拿到公钥也没用。

    再举个例子:你把公钥贴在GitHub上,就像给家门装了一把“只认你钥匙的锁”;私钥存在你电脑里,就像你口袋里的钥匙。别人没有你的钥匙,就算知道锁在哪里,也进不去你家——这就是SSH的“非对称加密”,懂了吧?

    三大系统分步走:从生成到验证全流程

    接下来直接上步骤——我把Windows、Mac、Linux的差异揉进细节里,你对着自己的系统找对应的操作就行。先看个表格,快速定位终端工具和密钥位置:

    系统 终端工具 密钥文件默认路径
    Windows Git Bash(装Git时自带) C:Users你的用户名.ssh
    Mac Terminal( Spotlight搜“终端”) ~/.ssh/(Finder按Shift+Command+G输入路径)
    Linux Terminal(Ctrl+Alt+T打开) ~/.ssh/(用ls -a命令查看隐藏文件)

    Windows系统:别再找“Git Bash在哪里”了

    Windows用户先打开Git Bash(装Git时会自动生成快捷方式,找不到就搜“Git Bash”),然后跟着敲命令:

  • 生成密钥对:输入ssh-keygen -t rsa -b 4096 -C "你的邮箱"(比如你的GitHub注册邮箱),然后按3次回车——第一次问“保存密钥的路径”,默认就行;第二次问“密码”,直接回车(不用设密码,省得以后麻烦);第三次确认密码,再回车。
  • 我第一次敲的时候,朋友问我“-t rsa是啥意思?”其实就是指定加密算法(RSA是最常用的),-b 4096是说密钥长度是4096位——比默认的2048位更安全,亲测这个参数没坑。

  • 找到公钥文件:密钥生成后,打开C:Users你的用户名.ssh文件夹(比如我是C:UsersZhang.ssh),里面有两个文件:id_rsa是私钥(别乱发!),id_rsa.pub是公钥(要复制的就是它)。
  • 注意:Windows默认隐藏“隐藏文件”,你得先打开“此电脑”→点击顶部“查看”→勾选“隐藏的项目”,才能看到.ssh文件夹——我朋友之前就是没开这个,找了20分钟。

  • 复制公钥到GitHub:打开GitHub→点击头像→Settings→左侧SSH and GPG keys→New SSH key。标题写个好记的(比如“我的Windows笔记本”),然后用记事本打开id_rsa.pub,复制里面全部内容(从ssh-rsa开始,到你的邮箱结束),粘贴到“Key”框里,点击Add SSH key就行。
  • Mac/Linux系统:终端其实很好用

    Mac和Linux的操作几乎一样,因为都是类Unix系统,终端命令通用:

  • 生成密钥对:打开Terminal,输入ssh-keygen -t rsa -b 4096 -C "你的邮箱",同样按3次回车——和Windows一样,默认路径、不设密码。
  • 我用Mac的时候,第一次生成完,用ls ~/.ssh/命令检查,看到id_rsaid_rsa.pub,才放心——要是没看到,可能是命令敲错了,再重新来一遍。

  • 复制公钥:Mac用户可以用pbcopy < ~/.ssh/id_rsa.pub命令,直接把公钥复制到剪贴板(不用打开文件);Linux用户用xclip -sel clip < ~/.ssh/id_rsa.pub(如果没装xclip,先输sudo apt install xclip安装)。
  • 这个技巧是我同事教的——之前我总是打开文件复制,有时候不小心多复制了个空格,结果验证失败,用命令复制就不会错。

  • 验证连接:不管哪个系统,最后都要测一下能不能连。在终端输入ssh -T git@github.com,如果弹出“Hi 你的用户名! You’ve successfully authenticated…”,就说明成了!
  • 我第一次验证的时候,弹出“Are you sure you want to continue connecting (yes/no)?”,直接输yes就行——这是第一次连接GitHub时的安全提示,别怕。

    最后提醒你几个坑:

  • 私钥别乱发id_rsa是你的“家门钥匙”,要是发给别人,别人就能冒充你操作仓库——我朋友之前把私钥发给我,我赶紧让他重新生成,不然太危险。
  • 公钥要复制全:一定要从ssh-rsa开始,到你的邮箱结束,少一个字符都不行——我之前复制的时候漏了最后一个字母,结果验证失败,查了半小时才发现。
  • 密钥文件权限别太高:Linux/Mac用户要注意,私钥文件的权限必须是600(只有自己能读能写),不然SSH会拒绝使用。如果权限不对,输chmod 600 ~/.ssh/id_rsa就行——我之前帮Linux用户配置时,就遇到过这个问题,改了权限就好了。
  • 要是你按这些步骤试了,欢迎回来告诉我结果——毕竟我也是从“找不到密钥文件”过来的~要是卡在哪一步,把报错信息贴出来,我帮你参谋参谋!


    SSH密钥和HTTPS链接有啥区别?为啥推荐用SSH?

    SSH密钥就像“钥匙+锁”组合,公钥是挂在远程平台的“锁”,私钥是自己电脑里的“钥匙”,连接时不用输密码还安全;HTTPS链接每次拉代码都要输密码,手快输错得重新来,密码还可能被截获。GitHub官方文档明确说SSH是推荐的连接方式,比HTTPS更安全——别人拿到公钥也没用,因为密钥是加密的。

    我之前嫌麻烦用HTTPS,后来配置了SSH才知道“无密码连接”有多香,再也不用反复输密码了。

    Windows系统里的Git Bash在哪里找?找不到咋办?

    装Git时会自动生成Git Bash的快捷方式,要是找不到就直接搜“Git Bash”就行。我朋友之前找不到,搜了一下就出来了,别慌。

    生成SSH密钥时,ssh-keygen命令里的-t rsa -b 4096是啥意思?用默认参数行不行?

    -t rsa是指定加密算法,RSA是最常用的;-b 4096是说密钥长度是4096位,比默认的2048位更安全,我亲测这个参数没坑。要是不用这个参数,默认2048位也能用,但4096位更稳妥。

    复制公钥的时候要注意啥?漏了字符会咋样?

    一定要复制公钥文件里的全部内容——从“ssh-rsa”开始,到你的邮箱结束,少一个字符都不行。我之前复制的时候漏了最后一个字母,结果验证失败,查了半小时才发现问题出在这。

    Windows用户可以用记事本打开id_rsa.pub文件复制,Mac/Linux用户用命令复制(比如Mac的pbcopy命令),能避免手误漏字符。

    验证SSH连接时弹出“Are you sure you want to continue connecting (yes/no)?”是啥意思?要输yes吗?

    这是第一次连接GitHub时的安全提示,问你要不要继续连接,直接输yes就行。我第一次验证的时候也碰到过,以为出错了,后来才知道这是正常流程,输完yes就会提示连接成功啦。

温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解! 联系邮箱:lgg.sinyi@qq.com

给TA打赏
共{{data.count}}人
人已打赏
行业资讯

不用VS!VSCode轻松调试运行.Net 8 Web API项目全流程

2025-9-15 11:13:28

行业资讯

这几款冒险手游要爆火!不肝不氪还能爽,开局送SSR,玩过的都上瘾

2025-9-15 11:13:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索