也就是说,Linux 用户有自己的用户区,通常称为 Home。就像 Windows 用户或 Mac 用户一样,每个用户都是独立的,一个用户内的属性(文件/文件夹)不能直接从另一个用户访问,除非将该任务委派给超级用户。在这种情况下,您可以在命令前面使用sudo 来告诉系统您有权使用超级用户的权限访问该资源。
要回答您的问题,您需要将您的公钥添加到您希望通过 SSH 访问的所有用户(ssh info@IP 或 ssh apple@IP)的 .ssh/authorized_keys 文件中。
但是,还有另一种方法,而不是将您的公钥添加到属于 sudoers 组或 root 用户的用户,否则(不建议将 root 用户暴露给外部明显的安全原因)。然后您只需简单地通过 SSH 连接到该用户并运行 sudo su - USERNAME 其中 USERNAME 是系统中除当前用户之外的任何用户(默认为 root 因此通过运行 sudo su - 您将假设为 root用户)。
仅供参考,中间的 - 告诉系统将当前目录设置为该用户的主目录,如果您将 - 留在外面,您仍然会成为该用户,但您的当前目录仍与您运行命令的位置相同。
这将要求您在第一次运行带有sudo 前缀的命令时输入用户密码,以验证您不是您的朋友或黑客。您可以通过使用sudo visudo 命令(visudo for root 用户)更改 Sudoers 文件来阻止此操作,这将为您提供一个定义权限的文件。您可以通过将%sudo 开头的行替换为以下内容来允许 Sudoers 组中的所有用户:
%sudo ALL=(ALL) NOPASSWD:ALL
或者您可以在#用户权限规范
部分下方添加一行
USERNAME ALL=(ALL) NOPASSWD:ALL
其中 USERNAME 是实际用户名,这将只允许该用户在没有密码提示的情况下运行 sudo 命令。
希望这能回答你的问题。