Я хочу настроить настройку по умолчанию облачной версии 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 для получения дополнительной информации :)