2015-09-27 14 views
1

AWS新手和Linux新手。我已成功启动(并终止)了几个CentOS 7实例。花了一段时间才注意到,AMI主题使用默认用户“centos”,并且最初不允许以“root”身份登录,这使得许多SSH失败尝试成为可能。安装nano之后,我可以更改visudo文件。然而,许多事情似乎仍然由root拥有,并且由centos(或我创建的其他用户)无法访问,因此很难完成任务。我设置了Apache,MySQL和PHP,并且由于www由root拥有,所以很难获取网站内容。我试图改变我需要访问的目录的所有权,但遇到一些麻烦。我的主要问题是:使用实例用户数据 - 具有更新HVM的CentOS 7(x86_64)覆盖默认的用户名

当AWS指导说用户可以“通过实例化时使用实例用户数据来覆盖此默认用户名”时,AWS指导意味着什么?

具体来说,我没有看到很多关于更改“用户数据”的指导。我假设这意味着您可以在启动时更改实例的“规格”。

有没有人有设置实例时如何做到这一点的例子?我会特别感兴趣的是知道如何设置一个具有根类访问权限的用户。或者,如何简单地摆脱这个AMI上的“centos”用户,并让初始登录成为root用户。我认为我的部分问题是编辑visudo,sshd_config和authorized_keys失败。

我只想要一个不受限制用户的CentOS 7实例。这主要是一项独立研究,不会让其他用户获得访问权限。迄今为止我看到的网络指南并不完全适用于这个特定的AMI。我相信我的无知是最大的障碍,但任何指针将不胜感激。

回答

2

这可能有点为时已晚,以帮助,但我发现这个资源:

http://chrishewett.com/blog/setting-up-a-centos-7-0-webserver-on-ec2/

一些挖后,很明显,‘SSH’ -ing为根仅仅是一个执行以下的事情:

sudo nano /root/.ssh/authorized_keys 
从URL

在这里,你会发现一条消息,告诉你用户的CentOS“而 不是根,其次是SSH密钥登录

我的首选编辑器是vi,因此命令看起来像:

sudo vi /root/.ssh/authorized_keys 

文件内,你想删除ssh-rsa文本之前的所有内容,并保留其他所有内容。一旦保存了更改,就可以像正常一样注销并使用ssh登录到您的实例中(尽管知道得更好的人不鼓励这样做)。

1

如果您在根的authorized_keys上添加了公钥并使用该公钥创建了AMI,那么该怎么办? 这样,你直接ðSSH根

+0

谢谢Dimos!这似乎是一个好主意,我可能会稍后尝试。经过一番阅读和探索之后,我想我可以用'sudo su - root','chown'和'chmod'完成所有的事情。在这一点上,我已经开始设置另一个用户,我只是使用提供的“centos”用户。现在我可以写入“www”文件夹,因此在WinSCP中上传新内容很简单。会成为一个学习过程;-) – dgj32784