Назад | Перейти на главную страницу

Как облачная версия Ubuntu обеспечивает «вход без root» по ssh?

Я хочу настроить настройку по умолчанию облачной версии ubuntu, где запрещается вход в систему с правами root.

Попытка подключиться к такой машине дает:

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh root@ec2-204-236-252-95.compute-1.amazonaws.com
The authenticity of host 'ec2-204-236-252-95.compute-1.amazonaws.com (204.236.252.95)' can't be established.
RSA key fingerprint is 3f:96:f4:b3:b9:4b:4f:21:5f:00:38:2a:bb:41:19:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-204-236-252-95.compute-1.amazonaws.com' (RSA) to the list of known hosts.
Please login as the ubuntu user rather than root user.

Connection to ec2-204-236-252-95.compute-1.amazonaws.com closed.

Я хотел бы знать, в каком файле конфигурации настроена блокировка root через ssh и как я могу изменить печатное сообщение?

Старый вопрос, но никто не ответил вам, и у меня был тот же вопрос: откуда взялась эта конфигурация?

Это происходит из облако, именно в cc_ssh.py в пределах /usr/lib/python2.7/dist-packages/cloudinit/config

Это, в свою очередь, напрямую зависит от файла /etc/cloud/cloud.cfg. Вы найдете линию disable_root: true.

Вы должны иметь возможность переопределить его, настроив свои пользовательские данные и добавив строку disable_root: false. Ваш облачный провайдер должен сделать пользовательские данные настраиваемыми.

Предполагая, что ваша конфигурация sshd имеет PermitRootLogin yes.

sudo grep "login as the ubuntu user" /root/.??*

Однако ссылку, которую предоставил Майк Скотт, я настоятельно рекомендую вам внимательно прочитать и принять во внимание.

ROOT SSH

Наконец, если вы хотите обойти стандарт безопасности Ubuntu и вернуться к старой практике разрешения ssh и rsync от имени пользователя root, эта команда откроет его для нового экземпляра официальных образов Ubuntu:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' Это не рекомендуется, но это может быть способ заставить существующий код автоматизации EC2 продолжать работать, пока вы не сможете перейти на методы sudo, описанные выше.

Я оставляю root-доступ по SSH отключенным, потому что любой общедоступный сервер с включенным SSH будет постоянно подвергаться атакам днем ​​и ночью из-за попыток root-доступа из криминальных ботнетов.

В другом месте документация предупреждает

Включение учетной записи Root требуется редко. Практически все, что вам нужно сделать в качестве администратора системы Ubuntu, можно сделать с помощью sudo или gksudo. Если вам действительно нужен постоянный вход в систему Root, лучшей альтернативой является имитация оболочки входа в систему Root с помощью следующей команды ...

sudo -i

Ответ здесь: http://alestic.com/2009/04/ubuntu-ec2-sudo-ssh-rsync

Скопируйте файл authorized_keys из учетной записи ubuntu в учетную запись root. Вход по паролю отключен, поэтому для входа в любую учетную запись необходимо иметь действующий ключ ssh.

Проверьте / etc / ssh / sshd_config, опция называется "Разрешить вход root"

 PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be “yes”, “without-password”, “forced-commands-only”, or
         “no”.

Еще один полезный параметр - «без пароля», который позволяет вам входить в систему под root, но только если вы используете аутентификацию с открытым ключом. man sshd_config для получения дополнительной информации :)