gitolite设置越来越FATAL:指纹识别失败 '的/ tmp / Q3pnE4WVbu

2019-08-31 19:01发布

我一个CentOS 5.9服务器上安装gitolite。 我创建了Git的用户,再经过su - git我设法让我的公钥到的〜/ .ssh /目录下,我已经成功地克隆了GitHub上的gitolite回购和已经运行gitolite/install -ln 。 下一步是运行gitolite设置。

git@hostname [~]# gitolite setup -pk $HOME/.ssh/micha.pub
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/git/repositories/testing.git/
FATAL: fingerprinting failed for '/tmp/Q3pnE4WVbu'

谷歌搜索,并在这里SO搜索并没有帮助我解决这个FATAL的错误,现在我陷入困境。

我应该已经定制了gitolite.conf文件以前在运行安装程序? 我一直在关注从指令http://gitolite.com/gitolite/progit.html因为他们是小白更容易一些像我这样比正常gitolite文档理解。 然而,这些说明没有提及定制的.conf文件。


更新:我已经尝试生成一个新的密钥,它仍然失败:

git@hostname [~]# ssh-keygen -t rsa -C "Gitolite Admin Access (not interactive)" -P "" 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/git/.ssh/id_rsa): /home/git/.ssh/micha
/home/git/.ssh/micha already exists.
Overwrite (y/n)? y
Your identification has been saved in /home/git/.ssh/micha.
Your public key has been saved in /home/git/.ssh/micha.pub.
The key fingerprint is:
33:b6:62:8b:b9:58:07:7a:71:6a:02:a5:ff:7e:c3:3a Gitolite Admin Access (not interactive)
git@hostname [~]# gitolite setup -pk $HOME/.ssh/micha.pub
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/git/repositories/testing.git/
FATAL: fingerprinting failed for '/tmp/pUKqewb66w'

我也曾尝试更换$HOME的完整路径,以防万一su - git混淆了它。 是有一些问题,我的ssh安装? 不知道如何为我使用ssh连接到这台服务器会有。


更新:原来gitolite被保留我曾试图建立与失败以前的公共密钥。 然后我删除了所有回购的gitolite源目录,在〜/ bin中的符号链接和.gitolite目录,并再次启动安装过程。 我克隆gitolite回购从GitHub,产生删除所有我曾尝试之前使用其他键后,新的密钥。 然后我跑gitolite install -ln最后

git@hostname [~]# gitolite setup -pk $HOME/admin.pub
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/git/repositories/testing.git/
FATAL: fingerprinting failed for '/tmp/tsIx4cKWHj'

仍然失败。

Answer 1:

正如我之前提到的 ,这意味着SSH密钥没有正确生成。

尝试:

ssh-keygen -t rsa -f "${H}/.ssh/micha" -C "Gitolite Admin access (not interactive)" -q -P ""

的OP mwotton 报告从任何现有ssh密钥清除的〜/ .ssh是溶液。
这是因为ssh-authkeys.fp_file()函数被调用一个发现 :

chomp( my @pubkeys = `find keydir/ -type f -name "*.pub" | sort` );

因此,它可以抓住已经在以前的(可能损坏)键~/.ssh



Answer 2:

如果你正在服用从puttykeygen等酒馆键..它会与像头多线

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "test@example.com"
startofkeylines
....
endofkey==
---- END SSH2 PUBLIC KEY ----

取下---开始和结束行,并注释:行。 请在一行中所有的关键线路。 并与支持SSH-RSA,这样的前缀:

ssh-rsa startofkeylines....endofkey==

这是对我工作。



Answer 3:

gitolite的指纹在.ssh目录中的所有键 - 包括authorized_keys文件。 从.ssh目录和authorized_keys文件中删除任何不需要的或损坏的钥匙。



Answer 4:

我遇到了同样的问题。 原来,复制粘贴时我包括换行到我的钥匙之一。 我花了一些时间去发现它...



Answer 5:

你写道,“原来gitolite被保留我曾试图建立与先前已出现故障的公共密钥。”

我有同样的问题。 我得到的错误:

FATAL:指纹识别失败'keydir / jsmith.pub'

我删除了在客户端失败的关键,并做了一个混帐推,但还是同样的问题。 因此,我必须登录到服务器gitolite并运行以下命令:

rm ~/.gitolite/keydir/jsmith.pub
gitolite setup

这解决了这一问题。 这工作,因为每gitolite文档,“从这个推的PUBKEY文件签出到〜/ .gitolite / keydir”。 那么,如果有这种情况发生了一些致命的错误,那么酒吧的项将不会被置于适当的位置。 所以这是可能的,你可能甚至格式化您的SSH密钥,它仍然将不会被写入。



Answer 6:

我已经尝试了所有的关键再生,gitolite reinstalation,清除所有密钥文件等,都没有成功,直到我开始寻找Git的历史gitolite。

问题是,在github上与google.code回购主分支被打破。 我在dissapeared指纹问题检出最新稳定版本v3.6.4。 我想我可以当场最近一次提交该nreaks这一点。



Answer 7:

对于我来说,我得到了它的运行工作gitolite命令作为root用户。 我创建了一个git用户帐户(并发现它需要能够登录到帐户...也就是没有/bin/false/etc/passwd )。



Answer 8:

我升级gitolite从V2到V3,运行安装和设置管理的关键

然后力推配置库中,所有的问题都已经得到解决。



Answer 9:

我遇到的问题是OpenSSH的,或周围版本V6.8更改默认密码的指纹(SSH-凯基-LF路径到关键),所以我们必须现在明确地传递密码类型(-E MD5),以获得传统的行为。 查看更改的文件显示,gitolite的v3.6.5将“正确处理新风格SSH指纹(感谢罗宾·约翰逊)”。 gitolite的升级解决这个问题对我来说。



文章来源: gitolite setup getting FATAL: fingerprinting failed for '/tmp/Q3pnE4WVbu'