Не могу SSH в качестве root


31

Я использую установку по умолчанию openssh-serverдля моего сервера Ubuntu 14.04. Я могу подключиться через консоль как root, как обычно, с моим именем пользователя и паролем. Однако, когда я пытаюсь использовать SSH с тем же именем пользователя и паролем, я постоянно получаю сообщения об отказе в доступе. /var/log/auth.logсообщает Failed password for root from <ip address> port <port> ssh2, но я ввожу правильный пароль.

Почему я не могу подключиться к серверу через SSH, хотя имя пользователя и пароль верны?



@EliahKagan Хе-хе, я доложил об этом, пока не получил ответ. : D
Муру

@muru Я думаю , что так или иначе было бы хорошо, но что один , кажется , немного шире в sccope (более общего), имеет больше ответов, и есть ответы , предполагающие более широкий спектр решений. В любом случае, они закрыты, ответы одного могут быть объединены с другим (или нет).
Элия ​​Каган


Если ваш сервер направлен наружу, пожалуйста, не включайте SSH как root. Это напрашивается на неприятности.
Robby1212

Ответы:


66

Настройка по умолчанию в Debian (и, следовательно, в Ubuntu) для OpenSSH Server состоит в том, чтобы запретить вход в систему на основе пароля для root и разрешить только вход на основе ключа. Измените эту строку в /etc/ssh/sshd_config:

PermitRootLogin without-password

в

PermitRootLogin yes

И перезапустите сервер SSH:

sudo service ssh restart

Ага, это сделал! Спасибо, я очень ценю это!
vaindil

2
@Vaindil Но на самом деле, как говорит gregory.0xf0 , если вы должны входить удаленно, как root, гораздо лучше использовать аутентификацию на основе ключей, а не аутентификацию на основе паролей .
Элия ​​Каган

@Vaindil Я второй EliahKagan и gregory.0xf0, что аутентификация на основе ключей превосходит пароли. Переключитесь на него, если сможете.
Муру

Между прочим, это плохая практика - разрешать вход в систему root в любом случае через SSH или через GUI, вам нужно только когда-либо входить в систему в тех случаях, когда sudoон отключен.
Томас Уорд

1
Если это все еще не работает, пожалуйста, попробуйте установить пароль для рута. Для меня это помогает:sudo passwd root
Ккочански

3

Для меня работает изменение (Ubuntu 18.04):

  • sudo nano /etc/ssh/sshd_config

  • PermitRootLogin prohibit-password в PermitRootLogin yes
  • PasswordAuthentication no в PasswordAuthentication yes

затем перезапустите службу ssh:

  • sudo service ssh restart

Благодарность!


1

Хакеры будут биться с пользователем root, пытаясь злоумышленниками проникнуть внутрь. Если вы собираетесь разрешить вход с правами суперпользователя, вам обязательно нужно установить Fail2Ban или что-то подобное для защиты от атак методом подбора. Также используйте очень трудно угадать пароль без использования общих слов.

И, как отметил Вайндил, логин на основе ключей был бы намного лучше. Их не очень сложно настроить. Вот ссылка на настройку входа на основе ключа с помощью PuTTY в Windows: https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/ . Но есть много других, если вы используете другую среду для входа в систему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.