拥有多个github账号时,如何管理多个SSH key?

这篇具有很好参考价值的文章主要介绍了拥有多个github账号时,如何管理多个SSH key?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


目前github已经拒绝通过密码访问私有仓库,只能通过SSH Key。但SSH key不能重复使用,如果有多个github账号的话,就需要多个不同的key。
如果访问一个私有仓库的话,出现如下提示,则说明可能当前的key不正确。那么如何管理多个key就成为一个问题。
$ git clone git@github.com:lylhw13/some_repository.git
Cloning into 'some_repository'...
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

下面有两个方案管理多个key:

  • 通过ssh-add单次添加
  • 通过config配置,设置多次添加

预备:生成一个新的SSH Key

输入以下指令,并将邮箱替换为自己的邮箱

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

在如下提示中设定自己的的文件名,为了避免和默认key 冲突,需要指定一个新的名称,如果不存在默认key,直接回车:

Enter file in which to save the key (~/.ssh/id_ed25519): ~/.ssh/id_ed25519_personal

使用默认密钥,直接两次回车即可。
将 ~/.ssh/id_ed25519_personal.pub 注册到github账户上。

单次添加

如果只是偶尔使用一个key,可以通过ssh-add 单次添加。如下命令。

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_ed25519_personal

该方案缺点在于,每一个新的窗口都需要添加一次。
注:在执行ssh-add时,必须如上面先执行evel命令,否则会出现如下错误提示:

Could not open a connection to your authentication agent.

永久添加

配置

通过config ,可以记录不同host和不同key的映射关系。

$ sudo vim ~/.ssh/config

添加如下内容:

Host git_personal
        HostName github.com
        Identityfile ~/.ssh/id_ed25519_personal
  • Host 的名称可以任意,只要方便记忆即可
  • HostName 这里写为 github.com
  • Identityfile 这里指向刚生成的key。

测试配置是否正确

执行如下指令

$ ssh -T git@git_personal

如果输出如下结果,代表配置正确:

Hi lylhw13! You've successfully authenticated, but GitHub does not provide shell access.

如果输出以下结果,代表github账号没有添加该key文件:

git@github.com: Permission denied (publickey).

使用

这样在我们使用git命令,比如clone 的时候,将如下地址的github.com替换为git_personal即可,这样git便会通过config找到正确的key文件:

$ git clone git@github.com:lylhw13/code_job.git

修改为

$ git clone git@git_personal:lylhw13/code_job.git

参考:
https://gist.github.com/aprilmintacpineda/f101bf5fd34f1e6664497cf4b9b9345f文章来源地址https://www.toymoban.com/news/detail-528032.html

到了这里,关于拥有多个github账号时,如何管理多个SSH key?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Windows下同台电脑Git配置多个SSH-Key

    背景 当一台电脑上有多个git账号时,比如: a. 一个gitee,用于公司内部的工作开发; b. 一个github,用于自己进行一些开发活动; C. 一个gitlab,远程仓库的地址在服务器上做了ip端口转发; 想在git上同时使用,互不干扰,该如何处理? 若使用同个邮箱,则在~.ssh文件夹下复制

    2024年02月04日
    浏览(46)
  • 【Git】保姆级详解:Git配置SSH Key(密钥和公钥)到github

    博主简介: 22级计算机科学与技术本科生一枚🌸 博主主页:是瑶瑶子啦 每日一言🌼: “当人们做不到一些事情的时候,他们会对你说你也同样不能。”——《当幸福来敲门》 克里斯加德纳 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目

    2024年02月14日
    浏览(65)
  • 14.(开发工具篇github)如何在Github配置ssh key

    上图表示已存在。跳第三步 拷贝第三步内容,保存

    2024年02月07日
    浏览(45)
  • Git 如何生成SSH key

    查看 [ c盘-用户-用户名-.ssh ] 下是否有 id_rsa 、 id_rsa.pub 文件,如果有表示已生成,如果没有则需要重新生成 3.1、执行生成 SSH Key 命令 3.2、(Enter file in which to save the key ) 表示生成路径,回车就行,默认生成在 [ c盘-用户-用户名-.ssh ] 3.3、(Enter passphrase ) 表示让输入一个密语

    2024年02月11日
    浏览(35)
  • 【git】阿里云上传代码到github附SSH-KEY免密码上传&更新github代码到本地

    Reinitialized existing Git repository in /root/git-demo/.git/ [root@iz2ze8w7169ei61c5c1il5z git-demo]# echo ‘Hello World’ README.MD [root@iz2ze8w7169ei61c5c1il5z git-demo]# ll -a total 16 drwxr-xr-x 3 root root 4096 Jun 19 11:06 . drwxr-xr-x 4 root root 4096 Jun 16 16:51 … drwxr-xr-x 8 root root 4096 Jun 19 11:04 .git -rw-r–r-- 1 root root 12 Jun 19

    2024年04月23日
    浏览(54)
  • Git多账号管理通过ssh 公钥的方式,git,gitlab,gitee

    按照目前国内访问git,如果不科学上网,我们很大可能访问会超时。基于这个,所以我现在的git 配置已经增加到了3个了 一个公司gitlab,一个git,一个gitee. 以下基于这个环境,我们来说明下如何创建配置ssh公钥。 以下操作都基于win11系统 这一步生成过程中,可以给rsa文件取

    2024年02月07日
    浏览(46)
  • 代码管理git生成ssh key (公钥私钥)配置GitLab

    git在我们日常项目管理中起了很大的作用,是我们能够更好地管理我们的代码,git的管理是基于ssh密钥进行的,所以在使用前我们需要进行ssh配置。 首先我们需要配置user name和email 配置完成我们需要去查看我们本地是否已经存在.ssh文件夹(一般存在c盘用户下面,也可使用命令

    2024年02月16日
    浏览(65)
  • GitHub配置SSH key

    Git配置信息并生成密钥 设置用户名和密码 设置用户名 git config --global user.name \\\"用户名\\\" 设置邮箱 git confir --global user.email \\\"邮箱\\\" 生成密钥 ssh-keygen -t rsa -C \\\"邮箱\\\" 查看密钥 到密钥所保存的位置 复制其中的信息 新建一个SSH key 配置SSH key 配置完成后对应的邮箱会收到邮件 1.先设置

    2024年02月07日
    浏览(51)
  • Github配置 SSH Key步骤

    HTTPS是一种网络通信协议,全称为“Hyper Text Transfer Protocol Secure”,即“安全的超文本传输协议”。它基于HTTP协议,通过SSL/TLS等安全协议实现的加密和身份验证,保障了数据传输过程的安全性。 以HTTP为例,当客户端向服务器发送请求时,整个请求报文以明文的形式进行传输

    2024年03月11日
    浏览(48)
  • Ubuntu 配置 Github 的 SSH keys

    先进入已有的 Git 目录或使用新建的一个 Git 仓库下。 设置 Github 用户名和邮箱: 生成 SSH 密钥文件: 在 ~/.ssh/ 目录下会创建两个文件: id_rsa: 私钥文件 id_rsa.pub: 公钥文件 将公钥文件内容打印后复制: 登陆 Github 点击 右上角头像 - Settings - SSH and GPG keys - New SSH key 输入以下内

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包