odmowa dostępu dla root @ localhost dla połączenia ssh

28

Właśnie zainstalowałem na nim Ubuntu 14.04 i LAMP. Potem chciałem skonfigurować mój serwer, więc wypróbowałem ten samouczek.

Kiedy wydaje polecenie:

ssh root@localhost

Otrzymuję: Odmowa zezwolenia, spróbuj ponownie. Zalogowałem się jako użytkownik root za pomocą polecenia:

sudo -i

Próbowałem również tego samego, logując się przez:

sudo -s

Używam tego samego hasła, którego użyłem do zalogowania się jako użytkownik, ale wciąż pojawia się ten sam komunikat o błędzie.

Czy ktoś mógłby mi pomóc tutaj?

PS: Zastanawiałem się nad tym pytaniem, ale nie wydawało mi się, że działa.

vnay92
źródło

Odpowiedzi:

57

Domyślnie serwer SSH odmawia logowania opartego na haśle dla użytkownika root. W /etc/ssh/sshd_configzmień:

PermitRootLogin without-password

do

PermitRootLogin yes

I uruchom ponownie SSH:

sudo service ssh restart

Lub możesz użyć kluczy SSH. Jeśli go nie masz, utwórz go za pomocą ssh-keygen(trzymaj się domyślnego klucza i pomiń hasło, jeśli masz na to ochotę). Następnie zrób sudo -s(lub jakąkolwiek preferowaną metodę rootowania) i dodaj klucz SSH do /root/.ssh/authorized_keys:

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
muru
źródło
Otrzymuję ten błąd: cat: /home/user/.ssh/id_rsa.pub: Brak takiego pliku lub katalogu.
vnay92
Ach Przepraszam. Zakładałem, że masz klucz SSH. Jako użytkownik wykonaj ssh-keygen(pomiń hasło do klucza SSH, jeśli chcesz, i pozostań przy domyślnych ustawieniach), aby je utworzyć. Mam również nadzieję, że zastąpiłeś userswoją rzeczywistą nazwę użytkownika.
muru
Obie metody nie działały dla mnie! Sprawdziłem nawet mój folder domowy; to jest puste. Co powinienem zrobić?
Heich-B
5

W niektórych przypadkach po zmianie

PermitRootLogin yes

musisz sprawdzić tę konfigurację:

DenyUsers root
AllowUsers saeid

i aby włączyć logowanie, należy zmienić na:

#DenyUsers root
AllowUsers root OtherUser
Amini
źródło
4

Jeśli nie podałeś hasła do roota i próbujesz odpalić komendę na platformie Spark lub Haddop ./sbin/stop-all.sh or./sbin/start-all.sh. Jeśli nie masz hasła roota, możesz je skonfigurować za pomocą

sudo passwd

i komendy ognia.

D Nilesh
źródło
1

Miałem podobny problem do tego. Potrzebowałem dwóch komputerów , jednego na Ubuntu, a drugiego na Arch , aby zsynchronizować pliki przez Unison, ale wystąpił ten sam błąd odmowy uprawnień. Dla dobra tych, którzy mają ten sam problem, co ja, oto co zrobiłem:

Po pierwsze: zainstalowałem tę samą wersję Unison na obu komputerach. Było to trochę trudne, ponieważ ten dostępny w centrum oprogramowania był opóźniony w stosunku do tego, co było łatwo dostępne dla Arch. Tak więc nie mogłem znaleźć wyższej wersji dla Ubuntu, więc zamiast tego zastąpiłem tą w Arch na niższą. Znalazłem tutaj: http://zdia.de/downloads/unison-2.40.102-linux-x86_64 . Ta sama wersja znajduje się w centrum oprogramowania dla Ubuntu.

Po drugie: wykonałem następujące kroki: https://www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-debian-squeeze (Uwaga: Arch był moim serwerem 1, a Ubuntu był mój serwer 2.)

Wystąpił problem w kroku 3, gdy próbowałem skopiować ssh. Ale problem został rozwiązany przez zmianę „id_dsa.pub” na „id_rsa.pub” w wierszu „ssh-copy-id -i $ HOME / .ssh / id_dsa.pub [email protected]”. Prawdopodobnie moja wina, bo chyba zapomniałem dodać „-t dsa”. W każdym razie najpierw wypróbuj oryginalne polecenie. JEŻELI pojawi się błąd, a następnie przejść do RSA.

Po wykonaniu powyższych kroków okazało się, że nadal nie mogę zmusić Unison do połączenia się z innym serwerem, ani nie mogę się zalogować (bez Unison) przez ssh na innym serwerze. W końcu, po godzinach wyszukiwania w Google, zaprowadzono mnie na tę stronę, a odpowiedź udzielona przez mojego Muru przypieczętowała umowę.

Po zastosowaniu mogłem teraz zalogować się przez SSH na serwer 2.

Więc uruchomiłem Unison, poprawiłem ustawienia profilu i altówkę!

Josh Buzz
źródło