Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)

这篇具有很好参考价值的文章主要介绍了Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)

在看了几十篇博文,经历了一天一夜的挣扎后,基本把能踩的坑都踩了个遍,终于能够用SSH进行Github多个账号的无缝切换,记录于此。话不多说,先来分享一波成功的喜悦:
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)
如果你在Github多个账号设置SSH的过程中遇到了以下问题:

  • No such file or directory
  • Could not open a connection to your authentication agent
  • Connection closed by remote host
  • the agent has no identities
  • ine 1: Bad configuration option: \377\376h
  • terminating, 1 bad configuration options
  • Permission denied (publickey)
  • Could not resolve hostname github.com
  • ssh_dispatch_run_fatal
  • kex_exchange_identification
  • connection time out
  • connection aborted
  • Connection closed by remote host

或者Ping github.com请求超时,本文会有一定借鉴意义。

环境

先说一下我的环境是:Windows11,在此基础下进行Github多个账号设置SSH

生成SSH key

首先win+X打开windows终端(管理员),输入 cd ~/.ssh

如果提示No such file or directory,可以自己在C:\Users\用户名\ 文件夹下自己新建一个名为.ssh的文件夹,然后再在终端输入cd ~/.ssh,如果依旧提示No such file or directory,以及在接下来的过程中凡是出现No such file or directory,都可以采取以下方法:
将cd ~/.ssh命令中的路径替换为完整路径,即:cd C:/Users/用户名/.ssh
(用户名为你自己电脑的用户名)
如果用户名中有空格,则需要将用户名用双引号引起来,即:cd C:/Users/“用户名”/.ssh

成功进入.ssh文件夹后,输入以下代码生成不同账号的SSH key

ssh-keygen -t rsa -C "注册Github时用的邮箱1" //转入完成后一直回车,默认会生成id_rsa‘(私钥)以及id_rsa.pub(公钥)两个文件
ssh-keygen -t rsa -C "注册Github时用的邮箱2" -f  C:/Users/用户名/.ssh/id_rsa_person/ //转入完成后一直回车,则会生成id_rsa_person以及id_rsa.person.pub两个文件

成功后如下图:
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)

将新密钥添加到SSH agent中

之前参考的文章只说了将新的私钥添加到SSH agent中,但是实际上,每个要用到的私钥最好都添加一遍,命令如下:

ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_person

如果提示Could not open a connection to your authentication agent,那么尝试以下命令后再输入以上命令:

ssh-agent bash

如果提示No such file or directory,且修改为全路径无效,或者提示the agent has no identities,则需要检查ssh-agent服务是否启动:

get-service ssh*

如过Status为Stopped,启动服务:

Set-Service -Name ssh-agent -StartupType Manual
Start-Service ssh-agent

Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)
输入ssh-add -l 检查:
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)
成功后可重新输入上面的两行代码,将私钥添加到SSH agent中

修改config文件

在~/.ssh目录下找到config文件,如果没有就创建:

echo love >>config

再次进入该目录,即可看见config文件:
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)

用记事本打开config文件,修改参照以下:
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)
配置文件参数:
Host:别名,Host 可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
Port:端口 (22(default))
HostName:要登录主机的主机名
User:登录名
PreferredAuthentications:强制使用 Public Key 验证(no(default)/yes)
IdentitiesOnly :只接受SSH key 登录
IdentityFile:指明上面User对应的 identityFile 路径 (就是私钥)

保存文件为UTF-8格式并退出,如果此时该文件夹既有config又有config.txt(后缀名需要显示出来),需要删掉原来的config,并去掉config.txt的后缀.txt。

**注意:**1.有可能会提示line 1: Bad configuration option: \377\376h、terminating, 1 bad configuration options等错误,这是因为没有将config文件保存为不含BOM的UTF-8格式。

2.保险起见,我又将该配置加入了 I:\Program Files\Git\etc\ssh\ssh_config (Git bash 的安装路径) (如果没有安装GIT,此步可省略)

GitHub添加SSH Key

打开Github官网,点击右上角用户头像,选择settings
Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)
新建一个SSH Key,将 C:\Users\用户名.ssh\id_rsa.pub(可以用记事本打开)的公钥内容复制进去,并且取一个名字(建议为登录设备的名字)。然后Sign out,登录另一个账号,重复步骤,将 C:\Users\用户名.ssh\id_rsa_person.pub的公钥内容复制进去

测试

ssh -T git@github.com \\出现Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入y即可
ssh -T git@me.github.com \\出现Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入y即可

**注意:**1.如果提示Connection closed by remote host、Permission denied (publickey)、Could not resolve hostname github.com、ssh_dispatch_run_fatal、kex_exchange_identification、connection time out、connection aborted、Connection closed by remote host等一系列问题,或者Ping github.com请求超时,且在确认没有网络问题、没有使用代理、参考其他博主修改端口22/443无用(参考文章:修改端口)的情况下,可采用以下方法(我也是试了各种方法终于找到了适合自己的):

在 C:\Windows\System32\drivers\etc下的 hosts 文件中,在末尾添加以下文字:

192.30.255.112  github.com git 
185.31.16.184 github.global.ssl.fastly.net

和修改config文件一样,如果同时生成了txt文件,记得删掉原来的hosts文件,并且去掉hosts.txt的.txt(这一步可能需要关掉电脑的防火墙和杀毒软件等)

参考文章

安装Git及配置
github 多个账号问题
Windows下使用ssh-add报错
多个 github 账号、github 和 gitee 不同账号如何配置 ssh key
修改端口
git push出现ssh_dispatch_run_fatal错误文章来源地址https://www.toymoban.com/news/detail-493642.html

到了这里,关于Github多个账号设置SSH 逐个问题击破 新手友好(Windows) (史上最全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • git 配置多端多个账号(码云、github、gitlab)

    首先要确认已经安装 Git,可以通过执行 git --version 命令来查看当前安装的版本。 想为同一个电脑配置多个 Git 账户,需要完成以下整体流程: 清空默认的全局 user.name 和 user.email 配置项; 为不同的 Git 账户生成不同的 SSH 密钥; 将以上的 SSH 密钥分别添加到 SSH-Agent 信任列表

    2024年02月04日
    浏览(10)
  • 使用Git bash切换Gitee、GitHub多个Git账号

    使用Git bash切换Gitee、GitHub多个Git账号

        Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Git bash软件来切换Gitee、GitHub账号。     假设在gitee.com上的邮箱是alice@foxmail.com 、用户名为alice;在github上的邮箱是bob@foxmail.com、用户名为bob。 账号 名称 邮箱 网站 1 alice alice@foxmai

    2024年02月04日
    浏览(9)
  • linux下创建ssh账号并设置指定使用目录

    场景:在linux系统下创建用户,并使用xshell登录,一般我们使用key登录,安全性高 1.使用xshell连接服务器,使用root账号 sudo su 2.创建一个新的系统用户,使用以下命令: sudo useradd -m username 3.设置该用户的密码,使用以下命令: sudo passwd username 系统将提示你输入该用户的新密码

    2024年02月05日
    浏览(8)
  • gitee同一台电脑使用多个账号的问题

    gitee同一台电脑使用多个账号的问题

    官方文档:https://gitee.com/help/articles/4238#article-header0 目前 Gitee 支持使用 HTTPS协议 和 ssh 协议 进行代码的推送/拉取。两种协议的差别仅在于同一个仓库使用不同协议时的地址不同,以及对应的授权实现不同。 以仓库 https://gitee.com/normalcoder/Gitee-Blog-Applets 为例,对应两种协议的

    2024年02月05日
    浏览(7)
  • 为 GitHub 设置 SSH 密钥

    为 GitHub 设置 SSH 密钥

    1. 起因 给自己的 github 改个名,顺便就给原来 Hexo 对应的仓库也改了个名。然后发现 ub=\\\'hexo clean hexo generate hexo deploy\\\' 失败了,报错如下: 划重点: Please make sure you have the correct access rights and the repository exists. 好像我的 ssh 配置出问题了,想来那就重新配一遍吧,顺便记录下。

    2024年02月16日
    浏览(9)
  • 【通过一个脚本将多个实验按序跑起来,无需人工逐个调试 & Linux使用技巧】

    在服务器上跑实验时,通常需要跑多次实验,但这些实验的差异之处仅有一两处参数的变动,如果在服务器盯着一个一个的跑,势必需要消耗大量的精力和时间; 因此,将跑所有实验的指令全部汇总到一个脚本中,只需要run一个脚本即可,无需人工变更; 还可以将每个跑完

    2024年02月15日
    浏览(7)
  • 在 GitHub 上设置 SSH 公钥连接

    在 GitHub 上设置 SSH 公钥连接

    最终效果图 在终端中执行以下命令,生成 SSH 密钥对: 在这里,替换 your_email@example.com 为您的 GitHub 关联邮箱。 运行以下命令将 SSH 密钥添加到 SSH 代理: 执行以下命令,将 SSH 公钥的内容复制到剪贴板: 1、登录到 GitHub 帐户。 2、转到您的 GitHub 主页。 3、点击右上角的用户

    2024年02月03日
    浏览(8)
  • gitHub学习之SSH key的设置

    gitHub学习之SSH key的设置

    1、打开git bash 2、创建SSH Key 输入指令: ssh-keygen -t rsa -C 你的邮箱 ps:直接输入邮箱,不要带双引号之类的 然后就会显示这两行表示成功了: 紧接着又会问你: Enter passphrase (empty for no passphrase): 就是让你输入密码,如果你设置了密码,那在你使用ssh传输文件的时候,你就要输

    2024年01月22日
    浏览(11)
  • 解决git配置多个SSH公钥的问题

    解决git配置多个SSH公钥的问题

           之前跟同事共用一个项目私密仓库,现需拆分成两个仓库,结果同事提出他不想换,让我这边再创建一个新仓库。        那么接下来就遇到一个情况,原来仓库的公钥我并不想删除,还想继续使用,于是我仅更换了远程仓库(私密仓库)的SSH地址,然后git push时

    2024年02月07日
    浏览(10)
  • Github 生成SSH秘钥及相关问题

    1.生成过程参考: Github 生成SSH秘钥(详细教程)_github生成密钥controller节点生成ssh秘钥-CSDN博客 2.遇到的问题: GitHub Connect: kex_exchange_identification: Connection closed by remote host 注意:如果.ssh文件夹下没有config文件就自己创建一个。 还有在下载的时候如果让输入,记得输入yes然后

    2024年02月04日
    浏览(5)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包