我可以将 root 的 ~/.ssh 符号链接到另一个用户的吗?(对于本地虚拟机)

我可以将 root 的 ~/.ssh 符号链接到另一个用户的吗?(对于本地虚拟机)

(我在本地机器上使用虚拟机,因此安全性现在并不是很重要。我不会在开放的机器上执行此操作)。

我正在进行一个复杂的构建,并花费了相当多的时间查看配置文件和日志文件。

因此我想scp以 root 身份在 vagrant 文件夹之外运行,因为日志文件和配置文件具有相当严格的权限。

为此,我想设置一个更广泛的 ssh,而不仅仅是内置的,vagrant ssh它只在 vagrant 目录下工作。

步骤 1 将合适的密钥复制到虚拟机

做一个ssh-copy-id -i <somekey> vagrant@myvm

好的,此时,只要我选择了正确的密钥并且它已加载到 ssh-agent 中,我现在就可以了ssh vagrant@myvm

第 2 步,对 root 也启用此功能。

(如果我执行ssh-copy-id root,系统会要求输入密码,不行),所以我将复制授权密钥。

以 vagrant 身份通过 ssh 进入虚拟机。

sudo -s
cd /root #root's home
#copy vagrants authorized keys.
cp -r /vagrant/.ssh .

这有效。 我可以ssh root@myvm

ln -s /home/vagrant/.ssh .ssh但没有奏效的是,我尝试以 root 身份登录来替换副本。

替换ln -scp -r,一切恢复正常。

现在,我确实看到了为什么这会是一种良好的安全性的原因——任何拥有 vagrant 用户凭据的人都可以将新密钥推入 vagrant 并神奇地为 root 打开它,而无需在以 root 身份登录时执行任何操作。

但,sshd-可能-ssh-目录被符号链接说符号链接的 .ssh 没问题。实际上没有答案,只有一条评论。

那么 a) 符号链接 .ssh 可以吗?b) 但对于 root 来说不可以?

环境:macos Sierra 主机、Ubuntu 16.04 客户机、Vagrant 2.0.0

答案1

@TooTea 的评论https://serverfault.com/a/951469/991587很精彩,我可以在这里重写吗?

对于属于 user1 的密钥:

  • chmod 644允许 user2 使用密钥
  • 但用户 1 不能再使用他的密钥了
  • chown nobody消除此限制并允许用户 1 和用户 2 使用该密钥。

警告,所有其他用户现在也可以使用此密钥。

相关内容