GIT配置SSH

引言

  • GIT作为开发人员常用的工具,在使用过程中,频繁输入账号密码,造成不便,所以一般都会配置SSH密钥,是使用过程中更加方便。
  • 这里会列举如何绑定GitHub的SSH和如何绑定多个不同的远程仓库(其实可以用同一个密钥,根据个人情况,我是为了和公司的区分开,以免混乱)。
  • 推荐一个不错的GIT命令使用教程【GIT教程】

SSH绑定与多绑定

  1. 生成一对密钥
    # 这里如果要配置不同的远程仓库,比如github、gitee、gitlab等,修改最后面的xxx即可。如果只绑定一个或不区分,无需使用:-f。一路确认即可
    # 由于 GitHub 在 2022 年 3 月 15 日之后将不再支持 RSA 算法生成的密钥,原因是 RSA 不够安全,所以不再使用如下命令
    # ssh-keygen -t rsa -C "xxx@xx.com" -f ~/.ssh/id_rsa_xxx
    # 改用ed25519加密算法
    ssh-keygen -t ed25519 -C "xxxxxx@163.com"
    eval `ssh-agent`
    ssh-add ~/.ssh/id_ed25519
    # 查询密钥
    cat ~/.ssh/id_ed25519.pub
    # 填充GitHub的SSH中即可。下方多配置方案,暂时没去测试,但感觉和RSA通用,有兴趣可自行测试
    
  2. 绑定多个SSH,请配置config(无需请跳过该步骤)
    cd ~/.ssh
    # 没有config文件的,新建一个
    vim config 
    
  3. config配置
    # gitlab
    Host gitlab.com
     HostName gitlab.com
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/id_rsa_gitlab
    # github
    Host github.com
     HostName github.com
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/id_rsa_github
    # 配置文件参数
    # Host Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
    # HostName 要登录主机的主机名
    # User 登录名
    # PreferredAuthentications publickey,password,keyboard-interactive
    # IdentityFile 指明上面User对应的identityFile路径
    
  4. 远程仓库添加sshkey
    # 如果没绑定多个,没有_xxx
    cat ~/.ssh/id_rsa_xxx.pub
    # 复制公钥,在远程仓库中在设置中找到相应的位置添加sshkey即可
    
  5. 配置GIT用户名和邮箱
    # --global 配置全局。去掉配置当前仓库
    git config --global user.name "xxx" # 配置用户名
    git config --global user.email "xxx@xx.com" # 配置邮箱
    
  6. 验证是否成功
    # xxx替换为绑定远程仓库的地址,比如:github
    ssh -T git@xxx.com
    # 看到下面类似的输出,说明成功
    # Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
    

命令详情

  • ssh-keygen
常用参数 描述
-b 指定密钥长度
-e 读取已有私钥或者公钥文件
-f 指定用来保存密钥的文件名
-t 指定要创建的密钥类型
-C 添加注释


转载请注明:Memory的博客 » 点击阅读原文

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦