所以,我按照 this tutorial 安装了一个gitolite服务器。
但我的客户端机器是Windows机器,而不是Linux机器
因此,我使用了Eclipse“ssh-keygen
”实用程序(在Windows中,首选项,常规,网络连接,ssh2
),而不是使用ssh2
。
我生成了.pub
文件并用于设置gitolite(就像在教程中一样)
但它似乎不起作用,当我尝试使用此URL从Windows连接到我的服务器时,我总是得到“Connection refused: connect
”:
ssh://gitolite@192.168.0.193:22/gitolite-admin
我打开了Eclipse生成的.pub
文件,我发现有趣的是最后总共有2个等号。
例如,这是一个生成的公钥:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCQbDy+Nfoq+AitTrAbxy0PwRuBmgnm/vJk27KNOB3EzsZFKQ7+89I12nbxc8N+7z4Seq9fhNrYHfM7PvzgdI8F5QLxWbl2QV0UapBpjWmX+7WEE9bjEHIf7re3FpRzVdJrCAwscaUawmsIGi1rvw8ZFrbfPdS6ITiI10WcfTEdCw== RSA-1024
更新#1:
我发现我的服务器上没有运行ssh服务器。你可以看到:
sudo nmap -sS xxx.xxx.xxx.xxx -p 22
如果端口的状态已关闭,则SSH服务已关闭或不存在。 您还可以尝试在Linux机器上使用SSH连接Putty(在Windows上),您将看到SSH服务器是否正常工作。
如果您的SSH服务未启动,您可以使用以下命令启动该服务: sudo service ssh start
如果该服务不存在,则需要安装ssh服务器。我安装了我的(在Ubuntu上)像这样: sudo apt-get purge openssh-server sudo apt-get install openssh-server
安装openssh后,我的盒子上的一切正常。
答案 0 :(得分:1)
首先,如果你安装了msysgit,你完全可以使用ssh-keygen
(包含在这个msysgit模块中)。
official help page for installing gitolite也可以提供帮助。
不要担心公钥末尾的两个==
。这是正常的,并且始终忽略这两个==
之后的内容(例如,您可以在此处发表评论以便记住该公钥的用途,如果您愿意的话)。
现在:
是否可以尝试另一个密钥对而无需重新安装gitolite?
。
是。请参阅“lost admin key/access”:
- 将自己设为新密钥对,并将公钥复制为“
alice.pub
”。- 登录服务器,然后运行
gitolite setup -pk alice.pub
。 。
而已;新的alice.pub文件替换之前repo中存在的任何内容。
我可以在我的linux机器上生成密钥对,只需上传我的Windows机器上生成的私钥吗?
。
不,您需要在%HOME%/.ssh
文件夹中使用私钥和公钥(这意味着您必须拥有HOME
environment variable defined on Windows)
然后我会推荐an %HOME%/.ssh/config
file to use your keys。
关于如何诊断问题的任何其他帮助都会很棒
。
official doc has many tips
我有few ssh debugging tips as well。