解说GIT多个项目使用不同的公钥和私钥
在使用GIT管理多个项目时,有时需要为不同的项目使用不同的公钥和私钥。下面将详细介绍如何实现这一配置。
1. 密钥命名与存放
首先,把公钥和私钥按照特定方式命名,并放置在 .ssh 目录下,这样便于管理。需要注意的是,公钥和私钥文件必须成对存在,缺一不可。示例如下:
~/.ssh/project1_rsa
~/.ssh/project1_rsa.pub
~/.ssh/project2_rsa
~/.ssh/project2_rsa.pub
~/.ssh/project3_rsa
~/.ssh/project3_rsa.pub
2. 创建并配置 config 文件
接着,在 .ssh 文件夹下创建一个 config 文件,其内容用于指定不同项目对应的主机名和SSH密钥文件。以下是 config 文件的详细配置说明:
# Host 可以看作是一个你要识别的模式,针对识别的模式,进行配置对应的主机名和 ssh 文件
Host project1
HostName github.com # 要登录主机的主机名
User git # 登录名
IdentityFile ~/.ssh/project1_rsa # 指明上面 User 对应的 identityFile 路径
Host project2
HostName 10.9.210.240
User git
IdentityFile ~/.ssh/project2_rsa
# 可根据实际需求添加更多项目的配置...
3. 测试配置
在终端中运行以下命令进行测试:
$ ssh project1
可能出现的情况及处理方式
情况一:出现特定提示信息
如果出现如下提示:
PTY allocation request failed on channel 0
ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.
Connection to 10.8.210.38 closed.
不必惊慌,这表明 Gitosis 已经识别出了用户的身份,但由于没有运行任何 Git 命令,所以它切断了连接,这属于正常现象。
情况二:提示输入密码
如果提示输入密码,说明配置可能存在错误。此时需要仔细检查 config 文件中的主机名、用户名和密钥文件路径是否正确。
情况三:未提示输入密码
若没有提示输入密码,可以尝试使用 git clone 命令克隆代码:
$ git clone git@project1:your-repo.git
如果克隆时仍然提示输入密码,说明配置存在问题,需要再次检查并修正;若没有提示输入密码,则说明配置成功。
Author: admin | Categories: GIT、工作间 | Tags: git、不同的、公钥和私钥