git-多公钥配置

概述

在同一台电脑上针对不同平台(如:gitee、github、gitlab)同时使用多个Git账户

配置

1.生成公钥

# 1.创建公钥
ssh-keygen -t ed25519 -C "xxx"
# Enter file in which to save the key:设置文件名(即公钥文件的名称)直接回车则为默认名称
# Enter passphrase (empty for no passphrase):设置密码,也可以直接回车
# Enter same passphrase again:再次确认密码

# 最终生成私钥和公钥(pub结尾),如:id_ed25519,id_ed25519.pub
# 2.在平台中添加公钥(pub结尾的文件内容)

# 3.测试是否添加成功
ssh -T git@gitee.com

说明

  1. -t 指定密钥类型
  2. -C 指定注释(密钥文件中可见,说明该公钥的用途或来源,如:邮箱)
  3. 如果设置了密码,进行push操作时就需要输入密码

拓展

密钥类型:

  1. ssh key的类型有四种,分别是dsa、rsa、 ecdsa、ed25519
  2. 根据数学特性,这四种类型又可以分为两大类,dsa/rsa是一类,ecdsa/ed25519是一类,后者算法更先进
  3. dsa因为安全问题,已不再使用
  4. ecdsa因为政治原因和技术原因,也不推荐使用
  5. rsa是目前兼容性最好的,应用最广泛的key类型,在用ssh-keygen工具生成key的时候,默认使用的也是这种类型。不过在生成key时,如果指定的key size太小的话,也是有安全问题的,推荐key size是3072或更大
  6. ed25519是目前最安全、加解密速度最快的key类型,由于其数学特性,它的key的长度比rsa小很多,优先推荐使用。它目前唯一的问题就是兼容性,即在旧版本的ssh工具集中可能无法使用。不过据我目前测试,还没有发现此类问题
  7. 如果可以的话,优先选择ed25519,否则选择rsa

2.多公钥配置

配置公钥

同上,不同之处在于对于两个不同的公钥指定不同的名称

生成配置文件

注意,config文件所在位置:C:\Users\xxx.ssh目录

touch config # linux命令, 生成文件config

config内容

# git server one

# 一般来说, clone项目都是直接复制地址,所以最好"别名"和"域名"保持一致
Host one.gitee.com # 别名
Hostname gitee.com # 真实域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one # ssh文件路径, 如:id_rsa_one
User one # 用户名

# git server two
Host two.gitlab.com
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
User two
说明
  1. 别名:“git@one.gitee.com:xxx.git” 中"@“与”:"中间的部分
  2. 真实域名:如果是公司内部仓库一般没有域名,此处配置公司内网IP

参考链接

1.SSH 公钥设置 | Gitee 产品文档
2.密钥类型
3.如何在同一台电脑上同时使用多个Git账号?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题的意思是,如何在Linux上配置Git和SSH公钥。以下是具体步骤: 1. 安装Git和OpenSSH组件: sudo apt-get install git sudo apt-get install openssh-server 2. 生成SSH公钥: ssh-keygen -t rsa -C "your_email@example.com" 3. 将公钥添加到GitHub或其他代码托管网站: cat ~/.ssh/id_rsa.pub 然后将公钥复制并粘贴到你的代码托管网站的SSH设置中。 4. 配置Git使用SSH协议: git config --global user.name "Your Name" git config --global user.email "your_email@example.com" git config --global core.autocrlf input git config --global core.safecrlf true git config --global core.editor vim git config --global core.fileMode false git config --global core.ignorecase false 5. 通过SSH协议克隆代码库: git clone git@github.com:your_user_name/your_repo.git 现在你已经成功配置Git和SSH公钥,可以开始使用Git进行代码管理了。 ### 回答2: 在使用git时,我们通常会用到ssh协议进行远程连接和传输数据。为了方便和提高安全性,我们可以利用ssh公钥来实现无密码登录。下面我将介绍如何在Linux系统下配置git的ssh公钥。 1. 生成ssh公钥 我们可以使用ssh-keygen命令来生成ssh公钥。该命令会在用户家目录下生成一个.ssh目录,并在该目录下生成id_rsa和id_rsa.pub两个文件,其中id_rsa是私钥,id_rsa.pub是公钥。 打开终端,输入以下命令: ssh-keygen 按照提示一步步完成生成过程即可。 2. 复制ssh公钥 生成ssh公钥后,我们需要将公钥复制到目标机器上。可以通过以下命令来复制公钥: ssh-copy-id user@ip_address 其中,user是目标机器的用户名,ip_address是目标机器的IP地址。执行该命令后,会提示输入密码,输入目标机器的密码即可完成复制公钥的过程。 3. 配置git 完成以上步骤后,我们可以开始配置git。先检查一下是否已经安装了gitgit --version 如果提示“command not found”,则需要先安装git。Linux下可以通过以下命令来安装: sudo apt-get install git 安装完成后,我们可以开始配置git。首先需要设置用户名和邮箱地址: git config --global user.name "Your Name" git config --global user.email "your_email_address@example.com" 然后需要将公钥添加到git的SSH密钥列表中,执行以下命令: ssh-add ~/.ssh/id_rsa 至此,git的ssh公钥配置就完成了。我们可以通过以下命令来验证配置是否成功: ssh -T git@github.com 如果输出以下内容,则说明配置成功: Hi username! You've successfully authenticated, but GitHub does not provide shell access. 以上就是Linux git配置ssh公钥的详细步骤。配置成功后,我们可以在使用git时实现免密码登录,提高工作效率和安全性。 ### 回答3: 在使用git进行版本控制时,通常需要配置SSH公钥来进行身份验证来获取Git仓库中的代码内容或提交修改。 首先,在需要连接的服务器上当前用户的家目录下查看是否存在'.ssh'的隐藏文件夹,若没有则需要手动创建,进入新建id_rsa、id_rsa.pub两个文件。 然后,在要使用git的客户端电脑上也进入家目录下的'.ssh'文件夹,生成新的ssh key。在终端中执行以下命令: ssh-keygen -t rsa -C "your_email@example.com" 这里your_email@example.com是填写用户的邮箱地址。 接下来会要求输入文件名和密码等,可一路回车不进行更改。 生成完成后,在.ssh下出现了id_rsa和id_rsa.pub两个文件,其中id_rsa是私钥文件,需要妥善保管,不要泄露给别人,而id_rsa.pub则是公钥文件,需要将它的内容复制到远程服务器上,即将公钥添加到服务器的authorized_keys文件中。 在终端使用以下命令将公钥复制到远程服务器上: ssh-copy-id user@hostname 其中user是远程服务器的用户名,hostname是服务器的主机名或IP地址。 如果ssh-copy-id命令不能使用,则需要手动将公钥添加进服务器的authorized_keys文件夹中。在终端中使用以下命令进行添加: cat id_rsa.pub >> ~/.ssh/authorized_keys 完成公钥添加之后,就可以使用ssh来进行git操作了,不需要再输入用户名和密码等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值