本文概述
作为使用多个不在AWS中的服务器的人, root是默认用户, 可以操纵服务器上的所有内容。但是, 在Amazon Web Services实例中, 当你尝试以用户” root”的身份访问基于Ubuntu的实例时, 尝试连接时会发现以下消息作为响应(这显然会阻止以root身份进行连接):
Please login as the user "ubuntu" rather than the user "root".
基本上, 这样做是防止你以root用户身份访问, 并迫使你先以ubuntu用户身份登录, 然后再使用sudo su来获得root用户访问权限。对于大多数管理员来说, 这有时不是问题, 因为这是ubuntu安全模型, 但是这可能是一个大问题, 例如, 当你尝试通过SFTP访问服务器时, 你将无法访问/删除/由于权限不足, 因此无法重命名或移动文件/目录, 因为你不是以root用户身份登录, 而是以ubuntu身份登录。
根据许多观点和Ubuntu安全模型, 通过SSH或SFTP以root用户身份登录很不好, 因为它破坏了此操作系统上已有的安全模型。每个应用程序都应以非管理权限运行, 因此你必须提升其特权才能修改基础系统(例如目录等)。如果你知道自己在做什么, 为什么要这样做, 例如从基于Plesk的服务器迁移, 在需要root访问的情况下, 我们将在本文中向你展示如何在基于Ubuntu的AWS EC实例中以SSH或SFTP身份以root身份进行访问。
1.使用SSH访问你的服务器
第一步, 像平常一样访问ubuntu服务器, 请访问ubuntu@publicdns-host-address.com, 并使用你喜欢的工具(Putty)的私钥。然后在CLI上, 使用以下命令为ubuntu用户获得root特权:
sudo su
使用此命令, 你将以root用户身份登录。
2.编辑authorized_keys文件
现在你已经是root用户, 你需