Linux 获取权限被拒绝(公钥)

Linux 获取权限被拒绝(公钥),linux,ssh,Linux,Ssh,我正在尝试对Google云实例执行ssh。我可以对我的用户名执行ssh,假设我的pc用户名是apple,那么我可以访问apple用户名,但当我尝试在同一实例上访问不同的用户名时,如果是info,那么它给我的权限被拒绝公钥 我是linux的新手,请帮助我如何从我的系统访问不同的用户名目录。这是意料之中的,linux用户有自己的用户区域,通常称为主页。就像Windows用户或Mac用户一样,每个用户都是独立的,一个用户中的属性文件/文件夹不能从另一个用户直接访问,而不将该任务委托给超级用户。在本例中

我正在尝试对Google云实例执行ssh。我可以对我的用户名执行ssh,假设我的pc用户名是apple,那么我可以访问apple用户名,但当我尝试在同一实例上访问不同的用户名时,如果是info,那么它给我的权限被拒绝公钥


我是linux的新手,请帮助我如何从我的系统访问不同的用户名目录。

这是意料之中的,linux用户有自己的用户区域,通常称为主页。就像Windows用户或Mac用户一样,每个用户都是独立的,一个用户中的属性文件/文件夹不能从另一个用户直接访问,而不将该任务委托给超级用户。在本例中,在命令前面使用sudo告诉系统您有权使用超级用户的权限访问该资源

要回答您的问题,您需要将公钥添加到您希望通过ssh访问的所有用户的.ssh/authorized_keys文件中info@IP还是sshapple@IP. 但是,还有另一种方法,不是将公钥添加到属于sudoers组的用户或根用户,而是出于明显的安全原因,不建议将根用户公开给外部。然后您只需SSH到该用户并运行sudo su-USERNAME,其中USERNAME是系统中除当前用户之外的任何用户,默认值为root,因此通过运行sudo su,您将假定为root用户

FY-,在中间告诉系统把当前目录做给那个用户的主目录,如果你离开了,你仍然会成为那个用户,但是你的当前目录仍然和你运行命令的地方一样。 这将要求您在第一次运行带有sudo前缀的命令时输入用户密码,以验证您不是您的朋友或黑客。您可以通过使用sudo visudo命令visudo for root user更改Sudoers文件来停止此操作,这将为您提供一个定义权限的文件。您可以通过将以%sudo开头的行替换为以下内容来允许Sudoers组中的所有用户:

%sudo   ALL=(ALL) NOPASSWD:ALL
或者,您可以在用户权限规范部分下面添加一行

如果USERNAME是实际用户名,则只允许该用户在没有密码提示的情况下运行sudo命令


希望这能回答您的问题。

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。Thnx,我没有意识到这一点。
USERNAME   ALL=(ALL) NOPASSWD:ALL