这些是我在 amazon aws 上托管的 gitolite 上设置新用户所遵循的步骤: 1. 安装 gitolite(有效 - 我可以以管理员身份连接并添加新的存储库/用户)
我在 gitolite-admin 的 conf 文件中添加了一个测试 repo 和一个新用户。
新用户创建了一个名为 newUser 的新 ssh 密钥 - newUser.pub 被添加到 gitolite-admin 内的 keydir 中
新用户可以使用适用于 Amazon 实例的证书通过 ssh 连接到 Amazon AWS 实例
我运行了以下命令:
git add -A git commit -m'添加新的仓库和用户'git push origin master
回复提到已生成新用户和存储库。但是,当用户连接时,ssh 无法进行身份验证。我为 git 实例运行了 ssh -vvv,即 ssh -vvv git@server name(其中服务器名称是 amazon 实例)。我可以看到 ssh 尝试没有选择新的公钥,而是尝试使用较旧的 id_rsa.pub 文件。我现在将尝试强制 ssh 使用新密钥 - 任何其他有助于解决此问题的建议都将不胜感激!
编辑:感谢@VonC 的回复。我已将授权密钥信息复制到以下用户:
command="/usr/share/gitolite/gl-auth-command adavid",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa keyinfo [email protected]
其中 adavid 是添加的用户,abcdavid 是用户计算机上的用户 ID,192.168.1.3 是用户计算机的本地地址。
第二次编辑:
我还让用户添加了一个配置文件:
Host test.git.com
HostName amazon host name
User adavid (where adavid is the user name)
PreferredAuthentications publickey
IdentityFile ~./ssh/adavid (where adavid is the user name and associated with the key called adavid)
克隆到 git repo 时我收到以下错误:
Cloning into git repository name
tilde_expand_filename: No such user .
fatal: The remote end hung up unexpectedly
我现在正在检查 git 命令,看看我是否犯了任何错误。谢谢
答案1
问题出在用于连接托管 git 的 amazon aws 实例的客户端设置上。我接受了 VonC 的回复,因为他对我的所有问题都反应迅速。谢谢
我让用户通过 ssh 连接(使用 ssh 证书文件) - 用户接受了连接到其计算机的密钥。用户将配置文件添加到其 ~./ssh 文件中,格式如下:
Host test.git.com amazonHostName
HostName amazonHostName
User adavid
PreferredAuthentications publickey
IdentityFile ~./ssh/adavid
用户也运行了 ssh-add 命令。但是,他们无法使用短名称连接到 git 存储库,因此必须使用长名称进行连接。
再次感谢 VonC!