首页 > 其他分享 >GitHub 添加 SSH key 详细步骤

GitHub 添加 SSH key 详细步骤

时间:2023-11-29 10:57:51浏览次数:28  
标签:GitHub 添加 SSH key id ssh

查看git上Connecting to GitHub with SSH的文档后,解决方案如下:

检查 SSH keys

  1. 打开终端

  2. 输入 ls ~/.ssh 来查看 SSH keys 是否存在.

$ ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
  1. 查看文件夹,是否你已经拥有一个 public SSH key. 通常GitHub支持的key会是以下文件之一
id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

Tips: 如果你收到一个错误信息说 "~/.ssh" 目录不存在,那说明你没有匹配的 SSH key 在默认位置。下一步操作会建议并告诉你如何生成一个新的 SSH key。

生成 SSH key

关于 SSH key 的使用和生成建议。主要有两种选择:

  • 如果你没有可用的 SSH 密钥对,或者不想使用现有的密钥,建议生成一个新的 SSH 密钥对。
  • 如果你看到已经有一个可用的公钥和私钥对(例如 id_rsa.pub 和 id_rsa),你可以把这个密钥添加到 ssh-agent 中,然后使用它连接到 GitHub。
  1. 打开 Git Bash 终端

  2. 使用 ssh-keygen 命令生成密钥,其中邮箱改为你自己的

ssh-keygen -t ed25519 -C "[email protected]"

Note: 如果你使用旧系统不支持 Ed25519 算法, 那么使用:
ssh-keygen -t rsa -b 4096 -C "[email protected]"

  1. 当系统提示你 "Enter file in which to save the key" 按回车接受默认的密钥保存路径

  2. 设置一个安全的密钥密码

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

直接回车表示不设置密码

将你的 SSH key 添加到 ssh-agent

在向 ssh-agent 添加一个新的 SSH key 之前,你需要检查是否已有现成的 SSH key,如无可用 key,生成一个新的 SSH key。

如果有 GitHub Desktop,也可以使用它避免手动管理 SSH key

  1. 打开一个管理员权限的 PowerShell 或 CMD 窗口,确保 ssh-agent 服务运行
# start the ssh-agent in the background
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent
  1. 在普通命令行窗口中,使用 ssh-add 命令,添加私钥文件
ssh-add /c/Users/YOU/.ssh/id_ed25519
  1. 在 GitHub 帐号设置中,添加对应的公钥内容

为你 GitHub 账户添加一个新的 SSH key

  1. 复制 SSH public key 内容,直接从 .pub 文件中读取
$ clip < ~/.ssh/id_ed25519.pub
# Copies the contents of the id_ed25519.pub file to your clipboard

Notes:
windows系统,右键 id_rsa.pub文件,使用记事本打开后复制里面的public key

  1. 在 GitHub 网站右上角个人头像-Settings 页面

image

  1. 选择 SSH and GPG keys 项

  2. 点击 New SSH key 按钮添加

  3. 为此密钥添加一个描述标签

  4. 选择此密钥的用途,一般选 authentication

  5. 在 Key 字段粘贴刚才复制的公钥内容

  6. 点击 Add SSH key 按钮完成添加

  7. 如需确认身份验证才能成功添加

标签:GitHub,添加,SSH,key,id,ssh
From: https://www.cnblogs.com/cenima/p/17864044.html

相关文章

  • 如何获取multimap内key为i的所有value
    //测试如何获取multimap内key为i的所有valuevoidgetKey(multimap<int,string>&m1,inti){ cout<<"map容器内Key为"<<i<<"的数据有:"<<endl; multimap<int,string>::const_iteratorit2=m1.find(i); for(multimap&......
  • 【Azure Key Vault】使用Azure CLI获取Key Vault 机密遇见问题后使用curl命令来获取机
    问题描述在使用AzureKeyVault的过程中,遇见无法获取机密信息,在不方便直接写代码的情况下,快速使用AzureCLI指令来验证当前使用的认证是否可以获取到正确的机密值。使用CLI的指令为:第一步:设置azure的云环境参数,指定为中国区云服务azcloudset--nameAzureChinaCloud第二步......
  • Redis中的大key和热key
    大key定义string类型的key值大于10kblist,set,zset,hash的成员个数超过5000list、set、zset、hash的成员数量虽然只有1000个但这些成员的value总大小为100MB(成员体积过大)带来的问题对redis的请求变慢Redis内存不断变大导致OOM,或达到maxmemory值引发写阻塞或重要key被逐出Redis集群中某......
  • MySQL5.6建索引时遇到 Specified key was too long; max key length is 767 bytes错误
    解决方法//查看showvariableslike"innodb_large_prefix";showvariableslike"innodb_file_format"; //修改最大索引长度限制 setglobalinnodb_large_prefix=1;或  setglobalinnodb_large_prefix=on;setglobalinnodb_file_format=BA......
  • 华为交换机创建远程ssh登录
    [SW1]interfaceVlanif1#进入vlan1的配置模式[SW1-Vlanif1]ipaddress192.168.56.1024#配置vlan1接口ip地址[SW1]aaa#进入AAA[SW1-aaa]local-usersshuserpasswordcipheradminprivilegelevel3#设置用户名密码、用户等级[SW1]rsalocal-key-paircreate#创建密......
  • 带有 on duplicate key update 的批量插入 mybatisPlus
    1packagecom.autewifi.dataaods.common.data.datascope;23importcom.baomidou.mybatisplus.annotation.IdType;4importcom.baomidou.mybatisplus.core.enums.SqlMethod;5importcom.baomidou.mybatisplus.core.injector.AbstractMethod;6importcom......
  • pycham配置GitHub环境【一文了解window上GitHub的基本操作】
    基础用户设置【包含用户登录、密钥生成】网络配置外观->系统设置->https代理->检查连接我这里测试网址是GitHub,连接成功即可后续操作【不成功别找我,我也不知道】git安装【如果安装,请忽略】github登录凭证两者即可,我这里演示用token按照他的生成就好了,不是很难......
  • 面试官:为什么阿里不推荐使用 keySet() 遍历 HashMap?太叼钻了吧。。
    来源:https://juejin.cn/post/7295353579002396726Part1引言HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的。HashMap的遍历方式现如今有非常多种:使用迭代器(Iterator)......
  • 本地Linux 服务器实现内网穿透,SSH远程连接
     公网SSH远程连接Linux的好处在于可以在任何地方通过互联网连接到Linux服务器,无需在服务器所在的局域网内。这样可以方便地进行远程管理、维护和操作,提高了工作效率和灵活性。同时,公网SSH连接还可以加强服务器的安全性,因为可以通过SSH协议进行加密通信,保护数据的安全性。下面简......
  • 本地Linux 服务器实现公网SSH远程连接
     公网SSH远程连接Linux的好处在于可以在任何地方通过互联网连接到Linux服务器,无需在服务器所在的局域网内。这样可以方便地进行远程管理、维护和操作,提高了工作效率和灵活性。同时,公网SSH连接还可以加强服务器的安全性,因为可以通过SSH协议进行加密通信,保护数据的安全性。下面简......