sshfs使用sudo'ed帐户挂载

我们有一个linux系统的弗格森。

在弗格森:

  • 我有用户ID a123。
  • 作为用户ID a123,我能sudo su到useridpipe理员。
  • 用户pipe理员没有直接login。
  • 我们必须使用我们的个人用户名sudo su到userid admin。

我在我的Windows笔记本电脑上有一个虚拟的盒子虚拟机。

  • 从我的笔记本电脑的linux虚拟机,我可以使用userid a123到sshfs安装a123 @ ferguson。
  • 我想sshfs挂载为admin @ ferguson。
  • 但是,admin @ ferguson只能访问sudo su

我的笔记本电脑的Linux虚拟机使用userid a123执行sshfslogin弗格森作为pipe理员,使用sudo访问?

我假设你不能直接通过ssh连接到ferguson作为用户admin的唯一原因只是因为要么没有设置密码admin或者你只是不知道它。 可能还有其他的原因,这不起作用,如没有loginshell。

最好的解决scheme是使用SSH密钥。

在您的Linux VM上,如果您尚未生成公钥/私钥对: $ ssh-keygen -t rsa 。 按照提示进行操作,并接受默认位置。 build议在私钥上设置密码来保护密码。

你现在将有一个公共密钥,可以在~/.ssh/id_rsa.pub下使用。

ferguson ,像通常一样转到admin帐户。 如果文件〜/ .ssh / authoized_keys不存在,则需要先创build它。 权限很重要,如果SSH不正确,SSH将不允许访问。

 $ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh $ touch ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys 

然后您需要将您的公钥复制到authorized_keys一行中。 如果这个文件已经存在,可能会有其他的键。 把你的钥匙放在自己的路线上。

您现在应该可以使用sshfs作为用户admin 。 事实上,如果admin已经设置了合适的loginshell(比如/bin/bash ),你甚至可以以admin身份打开一个ssh会话。