Git 配置SSH,多个 Github 账号配置不同的SSH KEY(二)

简介: Git 配置SSH,多个 Github 账号配置不同的SSH KEY

另一个例子


#
# Main gitlab.com server
#
Host gitlab.com
RSAAuthentication yes
IdentityFile ~/my-ssh-key-directory/my-gitlab-private-key-filename
User mygitlabusername


另一个例子


#
# Our company's internal GitLab server
#
Host my-gitlab.company.com
RSAAuthentication yes
IdentityFile ~/my-ssh-key-directory/company-com-private-key-filename


另一个例子


# GitLab.com
Host gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab_com_rsa
# Private GitLab instance
Host gitlab.company.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/example_com_rsa


另一个例子


# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa


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


$ open ~/.ssh/config
> The file /Users/you/.ssh/config does not exist.


  • 将您的SSH私钥添加到ssh代理中,并将密码存储在钥匙串中。如果您使用其他名称创建了密钥,或者如果您正在添加具有不同名称的现有密钥,请将命令中的id_rsa_github替换为私钥文件的名称。
$ ssh-add ~/.ssh/id_rsa_github


即ssh-add <directory to private SSH key>

如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以现执行命令:


$ ssh-agent bash


然后再运行ssh-add命令。


  • 查看添加结果
ssh-add -l


补充:


# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l
# 可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D


一、将公钥粘贴到git服务器平台上,如GitHub


当然可以直接打开刚生成的公钥文件id_rsa_github.pub文件,复制全部内容去平台Add SSH Key;也可以使用命令复制公钥文件内容贴到平台 Add SSH Key。


  • 附:使用命令复制

将SSH公钥复制到剪贴板上

$ pbcopy < ~/.ssh/id_rsa_github.pub
# Copies the contents of the id_rsa_github.pub file to your clipboard


提示:如果pbcopy不起作用,您可以找到隐藏的.ssh文件夹,在您最喜欢的文本编辑器中打开文件,并将其复制到剪贴板。


其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。

这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如github2,那么原地址是:git@github.com:username/Mywork.git,替换后应该是:github2:username/Mywork.git。


二、测试连接


测试一下


$ ssh -T github2
Hi 0xJoker! You've successfully authenticated, but GitHub does not provide shell


  • 输入以下命令测试
$ ssh -T git@github.com
# Attempts to ssh to GitHub


您可能会看到这样的警告:


> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
> Are you sure you want to continue connecting (yes/no)?


  • 验证您看到的消息中的指纹是否与GitHub的RSA公钥指纹匹配。如果是这样,则键入yes:
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.


您可能会看到以下错误信息:


...
Agent admitted failure to sign using the key.
debug1: No more authentication methods to try.
Permission denied (publickey).


这是某些Linux发行版的已知问题。有关更多信息,请参阅“错误:代理承认未能签名”。


  • 验证生成的消息是否包含您的用户名。如果您收到“permission denied【权限被拒绝】”消息,请参阅“Error: Permission denied (publickey)【错误:权限被拒绝(公钥)”】。


三、常见问题处理


经常与会遇到下面这种情况,我也很纳闷,每次都解析到不到域名和地址


ssh: Could not resolve hostname git.oschina.net: 
nodename nor servname provided, or not known


查资料之后的解决办法是:

step1.

ping address

获取到对于地址的ip

step2. 在/etc/hosts中添加一行如下:

ip address

xxxxxxxxxx

这样就可以玩起来了。


相关文章
|
1月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
186 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
1月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
85 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
3月前
|
Linux 网络安全 开发工具
IDEA如何配置git和github
【11月更文挑战第14天】本指南详细介绍了如何在 IntelliJ IDEA 中配置 Git 和 GitHub,包括检查和设置 Git 路径、测试配置,以及通过 SSH 或 HTTPS 方式配置 GitHub 仓库的具体步骤。完成配置后,用户可在 IDEA 中轻松进行版本控制操作。
473 0
|
4月前
|
JavaScript Linux Windows
Typora图床配置(用自带的 PicGo-Core(command line) 插件GitHub
Typora图床配置(用自带的 PicGo-Core(command line) 插件GitHub
|
5月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
6月前
|
Linux C++ Docker
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
|
6月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
146 0
Github代码仓库SSH配置流程
|
6月前
|
数据安全/隐私保护
注册Github账号详细过程
注册GitHub账号前,请备妥有效电子邮件地址以接收验证信,设定独特的用户名(仅含字母、数字或单连字符,不以连字符起始或结束),并创建具有一定复杂度的密码。接着,访问GitHub官网(`https://github.com/`),点击右上角的“Sign up”进入注册页面。在此页面填写用户名、电子邮箱与密码,选择是否接收产品更新及公告,通过人机验证后提交。最后,通过注册邮箱内的验证链接完成验证,即可启用您的GitHub账号。
266 0
|
6月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
6月前
|
开发工具 数据安全/隐私保护 git
记录一次使用git工具拉取coding上代码密码账号错误的经历
这篇文章记录了作者在使用Git工具从Coding平台克隆项目时遇到的账号密码错误问题,并分享了通过清除电脑凭证中错误记录的账号密码来解决这个问题的方法。
记录一次使用git工具拉取coding上代码密码账号错误的经历

热门文章

最新文章