这些是我在亚马逊 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 '添加新的 repo 和用户' 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 命令,看看我是否犯了任何错误。谢谢
问题在于用于连接到托管 git 的亚马逊 aws 实例的客户端设置。我接受了 VonC 的回复,因为他对我的所有问题都非常敏感。谢谢
我让用户通过 ssh 连接(使用 ssh 证书文件)——用户接受了连接到他们计算机的密钥。用户以下列格式将配置文件添加到他们的 ~./ssh 文件中:
用户还运行了 ssh-add 命令。但是,他们无法使用短名称连接到 git 存储库,必须使用长名称进行连接。
再次 - Merci beaucoup VonC!