33

我最近设置了一个内部 git 存储库服务器,并安装了 gitosis 作为管理工具来启动并运行它。只读访问可通过 git:// 协议获得,而写访问可通过 gitosis 使用 ssh 公钥获得。

我有一个开发人员已被授予使用在他的桌面工作站上生成的公钥访问他的项目的权限。

他现在希望使用相同的 ssh 密钥对从他的笔记本电脑访问该存储库。他将整个 .ssh 文件夹复制到他的笔记本电脑中,并试图从存储库中克隆但没有成功。

这是一个有效的尝试吗?

是否需要为每台机器生成一个 ssh 密钥对?这看起来很奇怪,因为它实际上需要将每台机器的用户名添加到 gitosis 配置中。

任何帮助,将不胜感激。

4

3 回答 3

32

是的,我认为你可以。

我有类似的东西。两台机器,一台 Intel(台式机),另一台 Sparc。我可以登录两台机器并使用 SSH 访问和在 Intel 机器上生成的相同密钥对访问相同的 CVS 服务器(另一台机器)。

确保在复制私钥时正确设置了 .ssh 目录的权限(0700),并且您的主目录不能是组或全局可写的。id_rsa 应该只有用户读取权限 (0400)

于 2009-07-22T02:05:13.457 回答
17

是的,这是完全合法的。ssh 密钥不关心它们是在哪里生成的,一次将它们放在多台机器上是可以的。

尝试为 ssh 客户端提供“-v”或“-vv”选项(用于详细输出)并检查服务器的 ssh 日志以调试问题。

于 2009-07-22T02:07:44.983 回答
1

SSH 密钥对是独立于机器的,这意味着您可以在一台机器上创建一个 SSH 密钥对,并且可以在多台机器上部署相同的 SSH 密钥对。这是有效的事情,你必须这样做。

此外,Git 使用 SSH 进行传输,因此您可以在具有相同 SSH 密钥对的两台机器上克隆/下载 Git。

于 2019-04-05T10:54:12.390 回答