我正在尝试在CentOS linux服务器上安装git和gitolite用于我们的开发。到目前为止,除了使用此命令为gitolite定义管理员用户的步骤外,其他所有操作都已正常运行:
gitolite setup -pk /tmp/id_rsa.pub
FATAL: errors found but logfile could not be created
FATAL: /home/git/.gitolite/logs/gitolite-2013-05.log: No such file or directory
FATAL: die '/tmp/id_rsa.pub' does not seem to be a valid ssh pubkey file
看起来像两个错误;在/home/git/
中只有这些文件
.gitolite.rc
.bashrc
.bash_profile
.bash_logout
第二个(这似乎是问题)是pub_key无效。但是,根据git书,文件看起来很相似。我这样生成了它:
在我的电脑上安装git(不是服务器)
来自git bash:
ssh-keygen.exe (default path) (no password) (no password)
我通过名为WinSCP的程序将生成的.pub文件复制到服务器上的tmp目录。
我做错了什么?我在谷歌找不到答案。
PS。如果您需要更多信息,请告诉我。
答案 0 :(得分:1)
确保/tmp/id_rsa.pub与您在PC上的一行完全相同,在一行中,行末没有^M
(仅\n
,而不是{ {1}})。
阅读gitolite setup help page,您应该使用admin的用户名命名您的公钥(在服务器的/ tmp上)。
首次运行时,您需要准备一个公钥文件(通常来自管理员的工作站)。
如果主要的gitolite admin的用户名是“\r\n
”,则此文件应命名为“alice
”。然后,作为托管用户,运行:
alice.pub
答案 1 :(得分:1)
我也遇到了这个问题,并研究了gitolite的来源。代码基本上正在执行
ssh-keygen -l -f yourFile.pub
验证文件是否是有效的ssh-public key ...在我的机器上(OpenWRT路由器)未安装ssh-keygen。安装时使用:
opkg update
opkg install openssh-keygen
为我解决了这个问题。