在 git/gitosis 中存储一个 ssh 密钥,文件名与用户名相同。
即我的用户名.pub
如果我想从多台机器访问存储库,我必须从每个位置创建一个新用户,还是有办法为单个用户提供多个 ssh 密钥。
在 git/gitosis 中存储一个 ssh 密钥,文件名与用户名相同。
即我的用户名.pub
如果我想从多台机器访问存储库,我必须从每个位置创建一个新用户,还是有办法为单个用户提供多个 ssh 密钥。
实际上,gitosis 支持这一点。您只需在密钥文件的新行中添加 ssh 密钥。
您不能再按照.pub
igorw 的建议在文件中的每行添加一个密钥。我试了一下,得到了以下消息。
WARNING: a pubkey file can only have one line (key); ignoring kent.pub
Perhaps you're using a key in a different format (like putty/plink)?
If so, please convert it to openssh format using 'ssh-keygen -i'.
If you want to add multiple public keys for a single user, use
"user@host.pub" file names. See the "one user, many keys"
section in doc/3-faq-tips-etc.mkd for details.
我尝试了建议的解决方案,即使用名称创建一个新的 pub 文件,<user>@<host>.pub
它工作正常。
gitosis 中的用户不是“普通”用户,所以是的,您为每个 ssh 密钥创建一个用户。这篇文章很好地解释了它。
(或者,您将密钥复制到所有机器上,虽然不那么好/安全,但也可以正常工作)
Gitosis 通过 SSH 进行通信,并使用 SSH 密钥来唯一标识用户。如果您想在多台机器上充当同一个用户,您只需将私钥 ( ~/.ssh/id_rsa
) 复制到~/.ssh
第二台机器上的目录即可。如果第二台机器已经有密钥,您可以将密钥复制到不同的文件名(例如~/.ssh/mygitkey
)并配置 SSH 以将其用于适当的服务器。编辑/创建~/.ssh/config
文件并添加以下内容:
host mygitserver
identityfile ~/.ssh/mygitkey