尝试在 Ubuntu 上配置 gitosis 时遇到了一些问题。当我运行这个命令
git clone gitosis@host:gitosis-admin.git
对于我的本地机器,我使用git clone git@59.80.70.68:gitosis-admin.git
59.80.70.68 是服务器的 ip。但我遇到密码问题。我尝试输入服务器机器的密码,但它失败了
请帮助我。
Gitosis 从不使用密码。它总是使用 SSH 密钥。您需要配置使用任何公钥与您在运行 gitosis-init 时提供的私钥一起使用。你可以通过编辑~/.ssh/config
来包含一个像这样的节来做到这一点
Host githost # hostname you use on the commandline, in git remotes, etc.
HostName 12.34.56.78 # actually IP address or DNS name to connect to
User gitosis
IdentityFile ~/.ssh/id_rsa # whatever file stores the private key matching the public key you gave gitosis
我有一个类似的问题:我可以从笔记本电脑推送,但不能从 linux 机器推送。
查看服务器上的日志,我看到:
Public key b3:f3:... from <SOME IP> blacklisted (see ssh-vulnkey(1))
问题来自旧版本的 openssl 在我的旧 linux 机器上生成坏(不够随机)密钥。由于我无法升级(嵌入式开发),我在另一台机器上生成了公钥和私钥,并将它们复制到 linux 机器上。一旦新的公钥位于 gitosis-admin 的“keydir”中,一切正常。
我在 Cygwin 之上使用 Git Bash 在 Windows 7 上遇到了这个问题。
问题是我的 SSH 客户端不是安装了 Git 的客户端(我还安装了 Tortoise SVN,它安装了自己的 SSH 客户端)。
您可以检查 $GIT_SSH 的值,这应该设置为使用 git 而不是其他客户端(如 Tortoise SVN/Git 附带的客户端)安装的 SSH 二进制文件。
要在 Cygwin 运行中执行此操作,echo $GIT_SSH
它应该类似于"C:\Program Files\Git\bin\ssh.exe"
如果不是,您可以在环境变量中更新它的值
(在Windows 7上:开始->右键单击“计算机”->属性->高级系统设置->环境变量->选择“GIT_SSH”->单击“编辑...”->输入ssh.exe的路径对于“变量值:”。
本文中的“设置 gitosis 管理存储库”可能会有所帮助:
我遇到了这个问题,因为我想将 .ssh/id_dsa 存储在其他地方,git 似乎默认情况下会在您的文件夹中查找身份,但我还没有找到一种方法来指定搜索它的路径