天天看点

github ssh git使用指定的ssh文件名

要求:阅读本博文需要你有git、ssh、rsa相关知识

针对人群:本博文主要为想要使用自己指定的ssh-key文件名进行git操作提供一种方法。不自己指定而是使用默认的文件名不需要看此教程,因为那个没这么费劲。

  1. 以管理员身份运行powershell
  2. 使用你的github账号邮箱生成一个ssh key
    # -t:指明你要使用的加密算法;-C:指明你的GitHub登录邮箱;-f:指明你想让你生成的密钥文件放在哪里。执行命令后,会生成两个文件,私钥的名字就是你命令中写的名字,公钥的名字比私钥的名字多了.pub后缀
    ssh-keygen -t ed25519 -C "[email protected]" -f "你想让github ssh key存放的路径"
               
    github ssh git使用指定的ssh文件名
  3. 查看是否设置ssh-agent,如下图情况则为ssh-agent未运行
    # -l:列出你当前所有的添加到ssh-agent的ssh情况
    ssh-add -l
               
    github ssh git使用指定的ssh文件名
  4. 运行ssh-agent
    # 设置ssh-agent自动启动
     Set-Service ssh-agent -StartupType Automatic
     # 启动ssh-agent
     Start-Service ssh-agent
     # 获取当前正在运行的ssh-agent信息
     Get-Service ssh-agent
               
    github ssh git使用指定的ssh文件名
  5. 将你的github ssh key添加到ssh agent
    # ssh-add 后面跟的是你刚才产生的密钥存放的位置,这里说的是私钥所在的文件(不明白就去百度RSA算法)
    ssh-add "C:\Users\mayu3\.ssh\id_rsa-remote-ssh-github"
               
    github ssh git使用指定的ssh文件名
  6. 复制你的github ssh key的私钥到剪贴板
    # 这行命令实现将将你的公钥复制到剪贴板
    Get-Content C:\Users\mayu3\.ssh\id_rsa-remote-ssh-github.pub | Set-Clipboard
               
    github ssh git使用指定的ssh文件名
  7. 登录你的GitHub账户,添加ssh key的公钥
    github ssh git使用指定的ssh文件名
  8. 点击New SSH key
    github ssh git使用指定的ssh文件名
  9. 填写Title和Key
    github ssh git使用指定的ssh文件名
  10. 添加后的效果
    github ssh git使用指定的ssh文件名
  11. 编辑

    ~/.ssh/config

    文件添加以下内容

    此处还有其他方法,此方法是使用较广的一种,其他的方法,可以点此链接跳转:传送门,还没写,先占位,后面填坑

    Host github.com
        Hostname        github.com
        # 我的私钥路径是:~/.ssh/id_rsa-remote-ssh-github,这里改为你自己的私钥路径
        IdentityFile    ~/.ssh/id_rsa-remote-ssh-github
        IdentitiesOnly yes
               
    github ssh git使用指定的ssh文件名
  12. 添加remote
    # notessh 是你为remote起的别名,随便起
    # [email protected]:sober-orange/mynote.git 是你的仓库ssh链接
    git remote add notessh [email protected]:sober-orange/mynote.git
               
    github ssh git使用指定的ssh文件名
  13. 提交代码
    # 以下两行命令等价
    # 我这里主分支是main,是因为我把原来的主分支名:master改了。不明白我说的说明你git还没学
    git push --set-upstream notessh main
    git push -u notessh main
               
    github ssh git使用指定的ssh文件名

参考文献

https://www.163.com/dy/article/GHCG1C5B0511DSSR.html