Как человек, который работал с несколькими серверами, которых не было в AWS, root по умолчанию является пользователем, управляющим всем на сервере. Однако в экземплярах Amazon Web Services, когда вы пытаетесь получить доступ к экземпляру на основе Ubuntu от имени пользователя root, вы увидите следующее сообщение в качестве ответа при попытке подключения (что, очевидно, не позволяет подключиться как root):
Please login as the user "ubuntu" rather than the user "root".
В основном это предотвращает доступ к root
и заставляет вас войти в систему как пользователь ubuntu
сначала, а затем использовать sudo su
получить root-доступ. Иногда это не является проблемой для большинства администраторов, так как это модель безопасности Ubuntu, однако это может быть большой проблемой, например, когда вы пытаетесь получить доступ к вашему серверу через SFTP, где вы не сможете получить доступ / удалить / переименуйте или переместите файлы / каталоги из-за отсутствия прав, потому что вы вошли не как root, а как ubuntu.
Согласно многим мнениям и модели безопасности Ubuntu, вход в систему с правами root через SSH или SFTP является плохим, так как это нарушает модель безопасности, существовавшую в этой ОС в течение многих лет. Каждое приложение предназначено для запуска с правами без прав администратора, поэтому вам необходимо повысить их привилегии для изменения базовой системы, например, каталогов и т. Д. Если вы знаете, что делаете, и знаете, почему вы это делаете, например, переход с сервера на основе Plesk там, где необходим root-доступ, в этой статье мы покажем, как разрешить доступ с правами root через SSH или SFTP в вашем экземпляре AWS EC на основе Ubuntu.
1. Доступ к вашему серверу по SSH
В качестве первого шага зайдите на свой сервер Ubuntu, как обычно, ubuntu@publicdns-host-address.com
и с вашим закрытым ключом с вашим любимым инструментом (Putty). Затем в CLI получите привилегии root для пользователя ubuntu с помощью следующей команды:
sudo su
С помощью этой команды вы войдете в систему как пользователь root.
Теперь, когда вы являетесь пользователем root, вам нужно изменить authorized_keys
конкретно этого пользователя, специально расположенного по адресу. Вы можете использовать nano для редактирования этого файла из терминала:
nano /root/.ssh/authorized_keys
Это откроет файл, который будет содержать, вероятно, только один authorized_key
(а именно KeyPair, которую вам предоставляет amazon при создании вашего экземпляра) и некоторый текст в начале файла:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="
echo 'Please login as the user "ubuntu" rather than the user "root".';
echo;sleep 10"
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe AmazonOriginalKeyPairName
Это именно та строка авторизованного ключа, которая запрещает вам доступ с правами root с любого из ваших инструментов:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="
echo 'Please login as the user "ubuntu" rather than the user "root".';
echo;sleep 10"
Чтобы разрешить доступ как root
, удалить только текст перед авторизованным ключом из authorized_keys
файл учетной записи root и сохранить изменения. После сохранения изменений в вашем файле author_keys будут только авторизованные ключи ssh, в нашем случае это был только один:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe
AAAAB3NzaC1yc2EAAAADAQABAAABAQCPqJ2U4gidqek2U4gidqe AmazonOriginalKeyPairName
Теперь попробуйте войти в свой экземпляр EC снова как root и вуаля, root-доступ через SSH или SFTP, что означает, что больше нет проблем с правами доступа к каталогу.
Помните
Когда вы вошли в систему как root, вы можете делать все, чтобы система не спрашивала! Хотите отформатировать диск или удалить все каталоги и данные отовсюду? Хорошо, просто запустите команду, и все готово. Вы корень и знаете, что делаете. Так что будьте осторожны.