当前位置: 首页 > 工具软件 > git-hg > 使用案例 >

linux git 公钥 权限,Git - 生成 SSH公钥 , Linux 下多密钥管理

曾沛
2023-12-01

很多网上免ssh密码使用git的命令都没有考虑到多个公钥密钥的情况,

这里搜集并整理一下管理多个ssh公钥密钥的步骤。

1. ssh 公钥密钥生成

首先生成公钥和密钥,默认情况公钥的文件名比密钥末尾多.pub,

下面以管理coding.net和github.com两个git仓库的ssh公钥密钥为例

(如果是在windows下,请安装git客户端然后使用git bash来键入下面的命令;

如果是在linux下,则直接使用终端即可)

ssh-keygen -t rsa -f ~/.ssh/id_rsa.coding -C "Key for coding.net"

ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "Key for GitHub stuff"

复制代码

这个命令直接通过-f参数指定了密钥和公钥的文件名,

比如-f ~/.ssh/id_rsa.coding,其生产的密钥为~/.ssh/id_rsa.coding,

公钥为~/.ssh/id_rsa.coding.pub,生成好了公钥和密钥后,

把公钥文件中的内容追加到~/.ssh/authorized_keys文件的末尾,

同理github的公钥密钥的生成方式类似。

注意追加前authorized_keys文件的末尾需要有个换行符。

2. ssh 公钥密钥内容

ssh-rsa AAAAB3NzaC1yc2EAAaaaaaaupeyE1NMMrb121244DwhwFLsPFiFr

Fb1QUwQtX2m/YSi8ELn3Vga/5AhfKKPWG+nOczWZxi0XguiyAslRiiowXaUj

BYei5NHHBcAy+GiZWs4u8h3ZU7uGvwmQlqHf8tQ/I0J1RNR6nQ8Ra9882398

akk23h9Hhp63EagSbpkefg7qScroq0+VZ2yfLyjUCLgxhb+Eah+r9EqQ4l%H

EF;asd8hLQw449W1SzKz3hCwxFAJFKbj/n+J50vNXB3fLNeTNiq@OOIkn324

n802Do5jIZGFzNrYsIRFbJVbHvIsodyXDmz6Qbqlx87xmEQ== admaaa@163.com

ssh-rsa AAAAB3NzaC1yc2EAAAaa2#@8923n(&@hfg2-

hg9002nkglsdfPCBUhDN185+jyoJQRwLImRr6IOwh/LS

BS1N22pO#NG3434ng90u32n@0)@#NKDLHWO:@_jqtUIB

r8UzWzliM5Zcn9U/DjSjuAiP/SFg1JEoXfWSFToWQpYN

bGS9VFwU83MH1iGGDUeaeHY5mAMWy57ym/+Jm/hPs1I3

E+OtDT9+K1RyIGr44Ur7aWpKZ/PMgiuPUc6qfGFVP4xvRw== myyyy@gmail.com

复制代码

**同时把这个公钥添加到git仓库ssh key管理的地方,比如github是在Settings–>SSH Keys里面

3. 多密钥管理 ~/.ssh/config

当有多个ssh密钥需要管理时,一定要修改config文件的权限,否则你配置后仍然时无效的**

touch ~/.ssh/config

chmod 600 ~/.ssh/config

复制代码

~/.ssh/config文件的内容为:

Host github.com

IdentityFile ~/.ssh/id_rsa.github

User git

Host git.coding.net

IdentityFile ~/.ssh/id_rsa.coding

User git

复制代码

其中User后面的值为你访问的git ssh地址的@之前的部分,

比如:git@github.com:dongritengfei/beego.git

其中的@前面是git,所以User后面的值为git。

Host就是你的git仓库的域名或者IP。

4. 访问测试

然后是用这个命令来测试是否配置ok

ssh -T git@github.com

Welcome to GitHub, you name!

复制代码

如果你看到这个就说明你ok了,如果你看到下面的样子:

Bad owner or permissions on /home/admin/.ssh/config

# 那你需要执行

chmod 600 ~/.ssh/config

复制代码

 类似资料: