Удаленный вход в систему как root в ubuntu
В моем проекте, я должен установить некоторый пакет удаленно. Если мне нужно войти в систему debian, я скажу:
$ ssh [email protected]
[email protected] password:
он успешно входит в систему.
У меня есть вход в ubuntu прямо с помощью
$ [email protected]
[email protected] password:
это сообщение об ошибке throw в
Permission denied, please try again.
Как решить эту проблему?
Ответы
Ответ 1
Документация Ubuntu говорит:
По умолчанию пароль корневой учетной записи заблокирован в Ubuntu.
В нем также говорится:
Пожалуйста, имейте в виду, что значительное количество пользователей Ubuntu новы для Linux. Существует кривая обучения, связанная с любой ОС, и многие новые пользователи пытаются использовать ярлыки, включив учетную запись root, войдя в систему как root, и изменение права собственности на системные файлы.
В нем подробно говорится о том, почему так было сделано.
Включение учетной записи root:
sudo -i
Чтобы включить Корневую учетную запись (например, установить пароль), используйте:
sudo passwd root
Используйте на свой страх и риск!
Вход в X, поскольку root может вызвать очень серьезные проблемы. Если вы верите вам нужна учетная запись root для выполнения определенного действия, проконсультируйтесь официальные каналы поддержки сначала, чтобы убедиться, что лучшая альтернатива.
Ответ 2
проверьте /etc/ssh/sshd_config
, есть ли configure PermitRootLogin yes
ниже # Authentication:
. Если не yes
, он не разрешает вход в систему как root.
вы можете изменить его на yes
.
Затем перезапустите службу ssh, чтобы применить изменения:
sudo service sshd restart
Ответ 3
Не включать учетную запись root. Не устанавливайте пароль для учетной записи root.
Лучше всего разрешить вход root с использованием аутентификации с открытым ключом, а не с паролем. Объяснение объясняется в архивах списков рассылки Debian.
-
Откройте /etc/ssh/sshd_config
и проверьте, установлено ли PermitRootLogin
на yes
. Если нет, установите для него значение yes и перезапустите ssh
с помощью sudo service ssh restart
-
Создайте каталог .ssh
в корневом доме, если он не существует, и убедитесь, что он имеет строгие разрешения:
sudo -i mkdir -p .ssh
sudo -i chmod 700 .ssh
-
Создайте пару открытого/закрытого ключа в системе, из которой вы хотите войти.
-
Скопируйте свой открытый ключ в свою обычную учетную запись.
-
Добавьте свой открытый ключ в .ssh/authorized_keys
от root и убедитесь, что файл имеет строгие разрешения:
cat id_rsa.pub | sudo -i tee -a .ssh/authorized_keys
sudo -i chmod 600 .ssh/authorized_keys
С помощью этой настройки вы можете войти в систему как пользователь root, используя свой закрытый ключ.
Если вы ранее включили учетную запись root
, отключите ее сейчас:
sudo passwd -l root
Ответ 4
Вы можете установить пароль для root, но это не рекомендуется и может вызвать угрозу безопасности. Но если у вас есть учетная запись пользователя в целевой системе с учетными данными sudo, вы можете войти в систему как пользователь:
ssh [email protected]
[email protected] password:
а затем сделайте то, что хотите, используя sudo или получите корневую оболочку рекомендуемым способом:
[email protected]$ sudo su
Password:
[email protected]#
а затем выполните свое домашнее хозяйство. Вместо "sudo su" вы также можете использовать "sudo -i", что эквивалентно, или "sudo -s", который поддерживает текущую среду.
См. Документация Ubuntu Sudo/Root
Ответ 5
отредактируйте свой /etc/sshd _config:
sudo /etc/sshd_config
найдите строку с PermitRootLogin в разделе проверки подлинности и раскомментируйте PermitRootLogin или установите PermitRootLogin yes. Или просто добавьте эту строку в конец файла:
PermitRootLogin yes
Затем вы перезапустите демон ssh, сделав
/etc/init.d/ssh restart
или
service ssh restart
в зависимости от вашего дистрибутива Linux
Теперь вы будете входить через ssh с вашей учетной записью root
Предупреждение. По соображениям безопасности это не рекомендуется. Что вы можете сделать, так это логин с любым другим подключением через ssh и внутри вашей сессии пользователя:
sudo command
или просто:
sudo su
продолжить сеанс под учетной записью root
Ответ 6
ssh -l user localhost "sudo whoami"
возвращает:
root
Пока:
-
Удаленный хост позволяет подключиться к пользователю, чтобы иметь возможность sudo, не запрашивая дополнительный пароль.
-
ssh-copy-id запущен или исправлены ключи, скопированные на удаленный хост, чтобы пользователь мог снова подключиться без пароля через ssh
Все, что отличается, было добавлено слово sudo перед выполнением команды
Если есть проблемы с безопасностью с ключами и т.д., тогда вы можете взглянуть на язык с именем expect - используя ожидание script, вы сможете ssh/telnet, что бы он ни делал на удаленном хосте, и отправлять пароли и т.д.
Ответ 7
Я думаю, что единственный раз, когда мне когда-либо приходилось входить в систему с правами root, я впервые использовал AWS EC2, и я пытался использовать его как root, потому что знал, что он существует. Имя пользователя ec2-пользователя.
Ответ 8
- Изменить файл sshd_config
vi /etc/ssh/sshd_config
- Комментарий
#PermitRootLogin without-password
в разделе Аутентификация:
- вставить ниже
PermitRootLogin yes
- Сохраните файл.
- Перезапустите службу ssh
service ssh restart
Ответ 9
По умолчанию пароль корневой учетной записи заблокирован в системах на базе Debian, таких как Ubuntu:
Переключитесь на пользователя root
пользователя:
sudo -i;
Теперь установите пароль для учетной записи root:
sudo passwd;
Просто добавить пароль для root недостаточно.
Входящие подключения ssh должны быть активированы, как показано ниже:
Измените /etc/ssh/sshd_config
и найдите следующую строку:
PermitRootLogin without-password
Просто замените слово without-password
на yes
, как в следующей строке:
PermitRootLogin yes
Затем перезапустите SSH:
sudo service ssh restart;
Наконец, перезагрузите систему:
sudo reboot;
Готово!!!