Я только что создал новый сервер (VM) и настроил SSH, могу нормально войти. Я создал еще одну учетную запись пользователя, добавил ее в группу администраторов, и sudo работает нормально.
Теперь я хочу попробовать отключить вход в систему под учетной записью root, поэтому я отредактировал файл /etc/ssh/ssh_conf следующим образом:
Host *
PasswordAuthentication no
PermitRootLogin no
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
(Все приведенные выше строки закомментированы).
Примечание: у него не было PermitRootLogin, поэтому я добавил его вручную.
Я использую Ubuntu 14.04.
Я по-прежнему могу войти в систему, используя свою учетную запись без прав root, а также могу войти в систему, используя учетную запись root (система запрашивает пароль, а затем работает нормально).
Я перезапустил службу ssh, а также перезапустил всю виртуальную машину на всякий случай.
В чем может быть проблема?
решение1
Вместо этого вам необходимо изменить это /etc/ssh/sshd_config
. ssh_config
настройки применяются к клиенту и PermitRootLogin
не применяются к клиенту (см. `man ssh_config для получения информации о применимых настройках).
решение2
Вы не показали sshd_config, но - вы должны установить PermitRootLogin no
перед Subsystem
опцией. Ура.