我们有一个Linux系统ferguson。
关于弗格森:- 我的用户 ID 是 a123。
- 作为用户 ID a123,我可以
sudo su
进入用户 ID admin。 - 用户 ID 为 admin 的账号无法直接登录。
- 我们必须使用我们的个人用户标识
sudo su
进入用户标识管理员。
- 从我的笔记本电脑的 Linux VM,我可以使用用户 ID a123 来 sshfs 挂载 a123@ferguson。
- 我想以 admin@ferguson 的身份进行 sshfs 挂载。
- 但只能通过 访问 admin@ferguson
sudo su
。
我的笔记本电脑的 Linux VM 如何使用用户 ID a123 以管理员身份执行 sshfs mount ferguson,并使用 sudo 访问?
答案1
我认为您无法以ferguson
用户身份直接通过 ssh 连接的唯一原因admin
仅仅是因为没有设置密码admin
,或者您根本不知道密码。还有其他原因导致此操作无法正常工作,例如没有登录 shell。
对此最好的解决方案是使用 SSH 密钥。
在您的 Linux VM 上,如果您还没有生成公钥/私钥对:$ ssh-keygen -t rsa
。按照提示操作,并接受默认位置。建议在私钥上设置密码以保护它。
您现在将拥有一个可以在 下使用的公钥~/.ssh/id_rsa.pub
。
在 上ferguson
,像平常一样切换到帐户admin
。如果文件 ~/.ssh/authoized_keys 不存在,则需要先创建它。权限很重要,如果权限不正确,SSH 将不允许访问。
$ mkdir -p ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
然后,您需要将您的公钥复制到 中的一行中authorized_keys
。如果此文件已存在,则可能还有其他密钥。将您的密钥放在一行中。
您现在应该能够以用户身份使用 sshfs admin
。事实上,如果admin
已经设置了合适的登录 shell(例如/bin/bash
),您甚至可以以用户身份打开 ssh 会话admin
。