【GIT】GitHub密钥SSH keys添加

一、SSH密钥检查 

在生成SSH密钥之前,可以检查是否有任何现有的SSH密钥。

  • Mac打开终端:

  • 输入ls -al ~/.ssh以查看是否存在现有的SSH密钥。

    $ ls -al ~/.ssh
    # Lists the files in your .ssh directory, if they exist
    
  • Windows打开Git Bash:

  • 输入ls -al ~/.ssh以查看是否存在现有的SSH密钥。

    $ ls -al ~/.ssh
    # Lists the files in your .ssh directory, if they exist
    
  • Linux打开:

  • 输入ls -al ~/.ssh以查看是否存在现有的SSH密钥。

    $ ls -al ~/.ssh
    # Lists the files in your .ssh directory, if they exist

 检查目录列表,看看您是否已经有一个公共SSH密钥。默认情况下,GitHub支持的公钥的文件名是以下之一。

  • 提示:如果您收到~/.ssh不存在的错误,则默认位置中没有现有的SSH密钥对。您可以在下一步中创建新的SSH密钥对。

    • id_rsa.pub
    • id_ecdsa.pub
    • id_ed25519.pub​​​​​​​​​​​​​​

二、SSH密钥生成

生成SSH密钥时,可以添加密码来进一步保护密钥。当使用密钥时,必须输入密码。如果密钥有密码,并且不想每次使用密钥时都输入密码,可以将密钥添加到SSH代理中。SSH代理管理你的SSH密钥并记住你的密码。

可以在本地机器上生成新的SSH密钥。生成密钥后,可以在GitHub.com上将公钥添加到帐户中,以启用通过SSH对Git操作进行身份验证。

  • Mac打开终端:

  1. 粘贴下面的文本,用您的GitHub电子邮件地址替换示例中使用的电子邮件。

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    注意:如果您使用的是不支持Ed25519算法的传统系统,请使用:

     ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    这将使用提供的电子邮件作为标签创建一个新的SSH密钥。

    > Generating public/private ALGORITHM key pair.
    

    当提示“输入要保存密钥的文件”时,可以按Enter键接受默认文件位置。请注意,如果之前创建了SSH密钥,ssh-keygen可能会要求重写另一个密钥,在这种情况下,建议创建自定义命名的SSH密钥。为此,请键入默认文件位置,并将id_ALGORITHM替换为你自定义密钥名称。

    > Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]
    
  2. 在提示符处,键入安全密码。

  3. > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
  • Windows打开: 

  • 粘贴下面的文本,用GitHub电子邮件地址替换示例中使用的电子邮件。

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    注意:如果使用的是不支持Ed25519算法的传统系统,请使用:

     ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    这将使用提供的电子邮件作为标签创建一个新的SSH密钥。

    > Generating public/private ALGORITHM key pair.
    

    当提示“输入要保存密钥的文件”时,可以按Enter键接受默认文件位置。请注意,如果之前创建了SSH密钥,ssh-keygen可能会要求重写另一个密钥,在这种情况下,我们建议创建自定义命名的SSH密钥。为此,请键入默认文件位置,并将id_ALGORITHM替换为自定义密钥名称。

    > Enter a file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
    
  • 在提示符处,键入安全密码。

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
  • Linux打开: 

  • 粘贴下面的文本,用GitHub电子邮件地址替换示例中使用的电子邮件。

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    注意:如果使用的是不支持Ed25519算法的传统系统,请使用:

     ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    这将使用提供的电子邮件作为标签创建一个新的SSH密钥。

    > Generating public/private ALGORITHM key pair.
    

    当提示“输入要保存密钥的文件”时,可以按Enter键接受默认文件位置。请注意,如果之前创建了SSH密钥,ssh-keygen可能会要求重写另一个密钥,在这种情况下,建议创建自定义命名的SSH密钥。为此,请键入默认文件位置,并将id_ALGORITHM替换为自定义密钥名称。

    > Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
    
  • 在提示符处,键入安全密码。

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

三、​​​​​​​向SSH代理添加新的SSH密钥 

  • Mac打开终端:

  • 在后台启动ssh代理。

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
    

    根据环境,可能需要使用不同的命令。例如,在启动ssh-agent之前,可能需要通过运行sudo -s -H来使用root访问,或者可能需要使用exec ssh-agent bashexec ssh-agent zsh来运行ssh-agent。

  • 如果使用的是macOS Sierra 10.12.2或更高版本,则需要修改~/.ssh/config文件以自动将密钥加载到ssh代理中并将密码存储在钥匙串中。

    • 首先,检查~/.ssh/config文件是否存在于默认位置。

      $ open ~/.ssh/config
      > The file /Users/YOU/.ssh/config does not exist.
      
    • 如果文件不存在,请创建该文件。

      touch ~/.ssh/config
      
    • 打开~/.ssh/config文件,然后修改文件以包含以下行。如果SSH密钥文件的名称或路径与示例代码不同,请修改文件名或路径以匹配当前的设置。

      Host github.com
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile ~/.ssh/id_ed25519
      

      备注:

      • 如果选择不为密钥添加密码,则应省略UseKeychain行。

      • 如果看到Bad configuration option: usekeychain错误,请在配置的Host *.github.com部分添加一行。

        Host github.com
          IgnoreUnknown UseKeychain
        
  • 将的SSH私钥添加到ssh代理中,并将密码存储在钥匙串中。如果使用不同的名称创建了密钥,或者如果正在添加具有不同名称的现有密钥,请将命令中的id_ed25519替换为的私钥文件的名称。

    ssh-add --apple-use-keychain ~/.ssh/id_ed25519
    

    注意:当将SSH密钥添加到ssh代理时,--apple-use-keychain选项会将密码存储在钥匙串中。如果选择不向密钥添加密码,请在不使用--apple-use-keychain选项的情况下运行该命令。

    --apple-use-keychain选项在苹果的标准版本的ssh-add。在Monterey(12.0)之前的MacOS版本中,--apple-use-keychain--apple-load-keychain标志分别使用语法-K-A

    如果没有安装苹果的标准版本ssh-add,可能会收到错误。

    如果继续收到输入密码的提示,可能需要将该命令添加到~/.zshrc文件(或bash的~/.bashrc文件)。

  • Windows打开: 

          如果安装了GitHub Desktop可以使用它来克隆存储库,而不是处理SSH密钥。

  1. 在新的管理提升终端窗口(PowerShell或CMD)中,确保ssh代理正在运行。可以使用“自动启动ssh代理”说明使用SSH密钥密码”,或手动启动它:

    # start the ssh-agent in the background
    Get-Service -Name ssh-agent | Set-Service -StartupType Manual
    Start-Service ssh-agent
    
  2. 在没有提升权限的终端窗口中,将SSH私钥添加到ssh代理中。如果使用不同的名称创建了密钥,或者如果正在添加具有不同名称的现有密钥,请将命令中的id_ed25519替换为私钥文件的名称。

    ssh-add C:\Users\YOU/.ssh/id_ed25519
    
  • Linux打开: 

  • 在后台启动ssh代理。

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
    

    根据环境,可能需要使用不同的命令。例如,在启动ssh-agent之前,可能需要通过运行sudo -s -H来使用root访问,或者您可能需要使用exec ssh-agent bashexec ssh-agent zsh来运行ssh-agent。

  • 将SSH私钥添加到ssh代理中。

    如果使用不同的名称创建了密钥,或者如果正在添加具有不同名称的现有密钥,请将命令中的id_ed25519替换为你的私钥文件的名称。

    ssh-add ~/.ssh/id_ed25519
    

四、SSH公钥添加到GitHub上的帐户中 

上一步生成密钥之后,会提示“Your public key has been saved in xxx”,把xxx里面的内容             复制出来。

 

  • 登录GitHub,进入Settings页面

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Linux上配置GitHubSSH密钥,您可以按照以下步骤进行操作: 1. 首先,建议您设置一个密码以增加安全性。您可以使用以下命令复制公钥文件的内容:`cat ~/.ssh/id_rsa.pub`。\[1\] 2. 在GitHub上,打开"Settings",然后选择"SSH and GPG keys",点击"New SSH key"。 3. 在"Key"文本框中粘贴之前复制的公钥内容,并设置一个标题,然后点击"Add SSH key"。\[1\] 4. 您可以通过运行以下命令来检查SSH连接是否成功:`ssh -T git@github.com`。如果您看到类似于"Hi XXXXXX! You've successfully authenticated, but GitHub does not provide shell access."的消息,说明连接成功。\[2\] 如果您在配置过程中没有打印出name和email,这意味着您还没有进行相应的配置。您可以使用以下命令进行配置: - 配置用户名:`git config --global user.name "<userName>"` - 配置邮箱:`git config --global user.email "<email>"`\[3\] 另外,如果您还没有生成SSH密钥,您可以使用以下命令生成:`ssh-keygen -t rsa -C "<email>"`。\[3\] 这样,您就可以在Linux上成功配置GitHubSSH密钥了。 #### 引用[.reference_title] - *1* [Github使用ssh密钥登陆](https://blog.csdn.net/weixin_39591031/article/details/121368476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [解决github配置ssh密钥后仍然需要登录](https://blog.csdn.net/weixin_44639164/article/details/122389112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Github 配置ssh密钥](https://blog.csdn.net/qq_25473795/article/details/128245065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值