Как включить root доступ по ssh в Ubuntu 14.04

136

Я хотел бы включить sshroot-доступ в Ubuntu 14.04. Редактирование /etc/ssh_config(PermitRootLogin да) ни на что не повлияло.

user283163
источник

Ответы:

206

Просто добавить пароль для пользователя root недостаточно для Ubuntu 14.04 Server.

Вам также необходимо отредактировать /etc/ssh/sshd_configи закомментировать следующую строку:

PermitRootLogin without-password

Чуть ниже добавьте следующую строку:

PermitRootLogin yes

Затем перезапустите SSH:

service ssh reload

Для Ubuntu 16.04.1 LTS (GNU / Linux 4.4.0-59-generic x86_64) PermitRootLogin without-passwordбыл заменен на PermitRootLogin prohibit-password.

bdep
источник
10
Когда это делается через ssh, service ssh reloadэто полезно.
Торстен Рёмер
Я запускал Ubuntu на ВМ, однако я не знаю, чтобы эти изменения не работали, пока я не перезапустил ВМ один раз (может быть, мне нужно остановить / запустить сетевые службы в дополнение к вышеперечисленным шагам, но я не уверен).
ВСБ
2
Я должен сделать, PermitRootLogin yesпотому что у меня был простой пароль
JorgeeFG
1
Если вы делаете это в то время, когда ssh или scp сообщают вам «В доступе отказано, пожалуйста, попробуйте еще раз» в другом окне, выйдите и повторите этот ssh (или scp) вместо того, чтобы просто повторно вводить пароль.
Камиль Гудесюн
1
Также не забудьте проверить, указан ли root в sshd_config: root для AllowUsers
января
38

Вам нужно установить пароль для учетной записи root, и тогда он будет работать.

sudo passwd

Введите один и тот же пароль дважды.

PS После изменения / etc / ssh / sshd_config не забудьте перезагрузить сервер openssh.

sudo service ssh reload
cioby23
источник
2
Это будет работать; но для ОП: подумайте дважды, прежде чем делать это. Если вы все еще делаете, и ваш компьютер находится в Интернете, рассмотрите возможность добавления fail2banв систему. (Этот комментарий относится к включению root-входа через ssh; иметь или не иметь локальный пароль для root - дело вкуса).
Rmano
25

С сервером Ubuntu 14.04.

Установить пароль

sudo passwd

Изменения в / etc / ssh / sshd_config

Изменить PermitRootLogin

PermitRootLogin yes

Вам также может понадобиться проверить значение PasswordAuthentication. Если он установлен на нет, тогда установите на да

PasswordAuthentication yes

Затем перезапустите SSH:

service ssh restart

Пандуранг Патил
источник
5
Это единственный полный ответ. В других ответах не хватает какой-то части.
Висбуки
Кроме моей нет этой линии. Добавление этого не делает это работать.
SDsolar
О боже, да !! Спасибо! PasswordAuthenticationбыло недостающее звено
mpen
Я удалил openssh-service и openssh-client в обеих системах (Kali Linux и Ubuntu 18), переустановил их, применил этот ответ, и все работало отлично.
mk1024
В моем sshd_config, поскольку у него есть «UsePam yes» и строка «DenyGroups root», помимо всех вышеперечисленных действий, мне нужно также удалить «root» для DenyGroups, чтобы он работал.
Flickerlight
3

Для 14.04 вы должны были бы прокомментировать строку ниже в / etc / ssh / sshd_config

#StrictModes yes
Jitendra
источник
3
Вместо того, чтобы отключать проверку режима файла, было бы лучше убедиться, что /root/.sshи файлы в нем не доступны для чтения любому другому пользователю, кроме root.
Adaephon
-1

Для меня ни один из этих шагов не сработал, я даже попробовал что-то, чего никогда не попробую, а потом игрушку vm: PermitRootLogin without-password

Единственное, что сработало для меня, это отключение модуля PAM для этого:

UsePAM no

Эта опция обычно находится в самом конце файла. Честно говоря, я не знаю реальных недостатков этого, но так как вы не должны разрешать вход в систему с правами root, я думаю, это нормально для частного dev-vm.

Тем не менее, установите надежный пароль, всегда. Нет, это не исключение. Даже не в этот раз ...

Kjellski
источник
5
PermitRootLogin without-passwordне означает, что пользователь root может войти в систему без аутентификации. Это означает, что пользователь root не может войти в систему с паролем. Вместо этого пользователь root должен войти в систему, используя ключи RSA, что более безопасно.
Крейг
@ Крейг, проблема, о которой я говорю, не в том, что root должен будет использовать SSA-ключи RSA. Проблема в том, что root - это пользователь, которого все стучат в дверь вашего SSH-сервера. Что, на мой взгляд, не очень хорошая вещь. Но не стесняйтесь разрешить root-вход через SSH, но, как вы сказали, хотя бы убедитесь, что для этого используются ключи!
Кьельски
4
Вы сказали, что не попробуете PermitRootLogin without-passwordничего, кроме игрушечной виртуальной машины. Это то, что вы используете для отключения аутентификации по паролю для root, так что единственный способ войти в систему root - это использовать ключи RSA. Вы не утверждали, что пробовали эту опцию с ключами RSA. Если вы попробовали эту опцию без ключей, это никак не удавалось. Если вы используете PermitRootLogin without-password, то вы вообще не сможете войти в систему с использованием аутентификации по паролю, ни с надежным паролем, ни с пустым паролем, ни вообще.
Крейг