使用 sudo'ed 帐户挂载 sshfs

Ble*_*eek 1 linux sudo sshfs

我们有一个 linux 系统 ferguson。

关于弗格森:
  • 我有用户名 a123。
  • 作为用户 ID a123,我可以sudo su进入用户 ID admin。
  • userid admin 没有直接登录。
  • 我们必须使用我们的个人用户 IDsudo su进入用户 ID 管理员。
我的 Windows 笔记本电脑上有一个虚拟盒 linux vm。
  • 从我的笔记本电脑的 linux vm,我可以使用用户 ID a123 来 sshfs 挂载 a123@ferguson。
  • 我想以 admin@ferguson 的身份挂载 sshfs。
  • 但是 admin@ferguson 只能通过 thro 访问sudo su

我的笔记本电脑的 linux vm 如何使用 userid a123 以管理员身份执行 sshfs mount ferguson,使用 sudo 访问?

小智 6

我假设您不能通过 ssh 直接连接到ferguson用户的唯一原因仅仅admin是因为没有设置密码admin或者您只是不知道它。可能有其他原因导致此操作不起作用,例如没有登录 shell。

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

在您的 Linux VM 上,如果您还没有,请生成一个公钥/私钥对:$ ssh-keygen -t rsa. 按照提示操作,并接受默认位置。建议在私钥上设置密码来保护它。

您现在将拥有一个可以在 下使用的公钥~/.ssh/id_rsa.pub

在 上fergusonadmin像往常一样更改为帐户。如果文件 ~/.ssh/authoized_keys 不存在,您需要先创建它。权限很重要,如果权限不正确,SSH 将不允许访问。

$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)

然后,您需要将您的公钥复制到authorized_keys. 如果此文件已存在,则可能还有其他键。把你的钥匙放在它自己的线上。

您现在应该能够以用户身份使用 sshfs admin。事实上,如果admin已经设置了合适的登录 shell(例如/bin/bash),您甚至可以将 ssh 会话作为admin.