aut*_*tix 7 virtualbox git network-shares virtual-machine
我正在使用带有 Debian 的 VirtualBox VM 作为来宾操作系统。为了在 Windows 主机和 Linux 来宾系统之间共享 SSH 密钥,我将该文件夹定义~/.ssh为共享文件夹。Bun 现在我收到一个错误:
# git clone git@github.com-user:user/project.git
Cloning into project...
Bad owner or permissions on /root/.ssh/config
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
通常要解决这个问题,只需要为~/.ssh. 但在这种情况下这是不可能的,因为它是一个共享文件夹。
是否有针对此问题的其他解决方案/解决方法?
谢谢
小智 5
正确的解决方案是停止使用 root 来检查 git 存储库。为每个用户提供自己的帐户并保持足够严格的权限,以免安全性受到损害。
另一种解决方案是使用一个基于 Web 的 git 服务器而不是基于 SSH 的服务器。我从来没有用过这些,所以我不能给你太多建议。
免责声明:我现在相信这是 git 客户端的权限检查,而不是 ssh 服务器。那会使这个答案不正确。我在这里留下我的答案,这样我们就不必再讨论这个话题了。
我真的不想回答这个问题,但是有人最终会发布您正在寻找的答案,并且可能会附上适当的免责声明。
答案在man sshd_config,您正在寻找StrictModes。它不能基于每个用户进行配置;这是非常刻意的。
我已经使用此命令安装了我的共享文件夹(保存是/etc/rc.local为了在系统启动时自动安装该文件夹):
mount -t vboxsf -o uid=1000,gid=1000 sshkeys /root/.ssh
Run Code Online (Sandbox Code Playgroud)
现在我已经更改了mount commando 中的user、usergroup和已挂载文件夹的访问权限:
mount -t vboxsf -o uid=0,gid=0,umask=077 sshkeys /root/.ssh
Run Code Online (Sandbox Code Playgroud)
有用。
PS 献给所有参与过本次讨论的人:
由于话题有点乱,我总结一下:
起初我遇到了问题,当它们来自共享文件夹时,我无法使用我的密钥(Bad owner or permissions...错误)。我的推论是,有两种方法:(a)按照 SSH 客户端(?)的需要设置用户、组和文件夹的访问权限,或者(b)使其忽略其访问权限限制。由于我无法将chown/chmod应用于我的共享文件夹,并且认为不可能更改它的访问权限,因此我将 (b) 视为解决该问题的最后一种可能性 - 并更改了问题/标题。这是一个错误,我刚刚做了这个更改。
关于安全性的讨论:我以 root 身份工作(在我的开发虚拟机上!),这对于每个有安全意识的用户来说都是致命的罪过。其实我也认为,一般情况下不应该以root身份登录。但我认为它不适用于开发虚拟机的情况。不管怎样——这是一个题外话,因为它与我所描述的问题无关。每个用户组的每个用户都可能发生此问题。
| 归档时间: |
|
| 查看次数: |
3660 次 |
| 最近记录: |