Nie można włączyć SSH jako root

31

Korzystam z domyślnej instalacji openssh-servermojego serwera Ubuntu 14.04. Mogę połączyć się przez konsolę jako root jak zwykle, z moją nazwą użytkownika i hasłem. Jednak podczas próby SSH przy użyciu tej samej nazwy użytkownika / hasła wielokrotnie pojawiają się błędy odmowy dostępu. /var/log/auth.lograporty Failed password for root from <ip address> port <port> ssh2, ale wpisuję poprawne hasło.

Dlaczego nie mogę połączyć się z serwerem przez SSH, mimo że nazwa użytkownika i hasło są poprawne?

vaindil
źródło
@EliahKagan He he, zgłosiłem to jako duplikat tego, zanim otrzymał odpowiedź. : D
muru
@muru Myślę, że oba sposoby byłyby w porządku, ale ten wydaje się nieco szerszy w zakresie (bardziej ogólny), ma więcej odpowiedzi i odpowiedzi sugerujące szerszy zakres rozwiązań. Niezależnie od tego, w jaki sposób są zamknięte, odpowiedzi z jednego można połączyć w inny sposób (lub nie).
Eliah Kagan
Jeśli twój serwer jest skierowany na zewnątrz, nie włączaj SSH jako root. To prosi o kłopoty.
Robby1212,

Odpowiedzi:

66

Domyślnym ustawieniem w Debianie (a tym samym Ubuntu) dla serwera OpenSSH jest odmowa logowania opartego na hasłach dla roota i zezwalanie tylko na logowanie oparte na kluczach. Zmień tę linię w /etc/ssh/sshd_config:

PermitRootLogin without-password

do

PermitRootLogin yes

I zrestartuj serwer SSH:

sudo service ssh restart
muru
źródło
Aha, to zrobiło! Dziękuję, bardzo to doceniam!
vaindil
2
@Vaindil Ale tak naprawdę, jak mówi gregory.0xf0 , jeśli musisz zalogować się zdalnie jako root, o wiele lepiej jest używać uwierzytelniania opartego na kluczach zamiast na hasłach .
Eliah Kagan
@Vaindil I drugi EliahKagan i gregory.0xf0, że uwierzytelnianie oparte na kluczach jest lepsze niż oparte na hasłach. Przełącz się na to, jeśli możesz.
muru
Nawiasem mówiąc, jest to zła praktyka, aby zezwolić na logowanie do roota tak czy inaczej za pośrednictwem SSH lub GUI, powinieneś zawsze potrzebować logowania do roota tylko wtedy, gdy sudojest wyłączony.
Thomas Ward
1
Jeśli nadal nie działa, spróbuj ustawić hasło dla katalogu głównego. Dla mnie to pomaga:sudo passwd root
kkochanski
3

Dla mnie działa zmiana (Ubuntu 18.04):

  • sudo nano /etc/ssh/sshd_config

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

następnie uruchom ponownie usługę ssh:

  • sudo service ssh restart

Dzięki!

Rildomar Lucena
źródło
1

Hakerzy będą atakować użytkownika roota, który spróbuje wprowadzić brutalną siłę. Jeśli chcesz zezwolić na logowanie roota, zdecydowanie powinieneś zainstalować Fail2Ban lub coś podobnego, aby zabezpieczyć się przed atakami siłowymi. Używaj również bardzo trudnego do odgadnięcia hasła bez użycia zwykłych słów.

I, jak zauważył Vaindil, logowanie oparte na kluczach byłoby znacznie lepsze. Nie są bardzo trudne do skonfigurowania. Oto link do konfiguracji logowania za pomocą klucza za pomocą PuTTY w systemie Windows: https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/ . Ale jest wiele innych, jeśli używasz innego środowiska do logowania.

mikekehrli
źródło