Błąd SSH: odmowa dostępu, spróbuj ponownie

23

Mam konfigurację serwera Ubuntu za pomocą instancji amazon ec2. Muszę podłączyć mój pulpit (który jest także maszyną Ubuntu) do serwera Ubuntu za pomocą SSH.

Zainstalowałem open-ssh na serwerze Ubuntu. Potrzebuję wszystkich systemów w mojej sieci, aby połączyć się z serwerem ubuntu za pomocą SSH (nie trzeba łączyć się za pomocą kluczy pem lub pub).

Dlatego otworzyłem port SSH 22 dla mojego statycznego adresu IP w grupach zabezpieczeń (AWS).

Mój plik SSHD-CONFIG to:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

Za pomocą webmina (powłoki poleceń) utworzyłem nowego użytkownika o nazwie „senthil” i dodałem tego nowego użytkownika do grupy „sudo”.

sudo adduser -y senthil
sudo adduser senthil sudo

Próbowałem zalogować się przy użyciu tego nowego użytkownika „senthil” w „webmin”. Udało mi się zalogować.

Kiedy próbowałem połączyć serwer ubuntu z mojego terminala przez SSH,

ssh senthil@SERVER_IP

Poprosił mnie o podanie hasła. Po wprowadzeniu hasła wyświetliło się:

Permission denied, please try again.

Podczas niektórych badań zdałem sobie sprawę, że muszę w tym celu monitorować dziennik uwierzytelniania mojego serwera. Mam następujący błąd w moim dzienniku uwierzytelniania (/var/log/auth.log)

Jul  2 09:38:07 ip-192-xx-xx-xxx sshd[3037]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=MY_CLIENT_IP  user=senthil
Jul  2 09:38:09 ip-192-xx-xx-xxx sshd[3037]: Failed password for senthil from MY_CLIENT_IP port 39116 ssh2

Kiedy próbowałem debugować za pomocą:

ssh -v senthil@SERVER_IP


    OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SERVER_IP [SERVER_IP] port 22.
debug1: Connection established.
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-7ubuntu1
debug1: match: OpenSSH_5.8p1 Debian-7ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA {SERVER_HOST_KEY}
debug1: Host 'SERVER_IP' is known and matches the ECDSA host key.
debug1: Found key in {MY-WORKSPACE}/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: password
debug1: Next authentication method: password
senthil@SERVER_IP's password: 
debug1: Authentications that can continue: password
Permission denied, please try again.
senthil@SERVER_IP's password: 

W przypadku hasła wprowadziłem tę samą wartość, której zwykle używam dla użytkownika „ubuntu”.

Czy ktoś może poprowadzić mnie tam, gdzie jest problem i zaproponować jakieś rozwiązanie tego problemu?

Senthil Kumaran
źródło
Ustawiłeś hasło dla ubuntuużytkownika? I jesteś pewien, że wpisujesz to poprawnie? Uwzględnij również wynik id ubuntuuruchomienia z serwera w swoim pytaniu. Być może zablokowałeś konto? Rozważ dołączenie wyniku grep ^ubuntu /etc/passwd /etc/shadow(i zmień zaszyfrowane hasło tylko w środku ciągu).
gertvdijk
Właściwie nie stworzyłem żadnego oddzielnego użytkownika dla SSH. Użyłem użytkownika, którego zwykle używam do logowania do serwera. Dane wyjściowe grep ^ ubuntu / etc / passwd / etc / shadow to: / etc / passwd: ubuntu: x: 1000: 1000: Ubuntu: / home / ubuntu: / bin / bash / etc / shadow: ubuntu:! $ 6 $ rWDSGDSGhv $ WDFDASGFDAG.Pz0ob54 / epaDSGDSGQKnKqQMFG..OieFiLUndF6KnSDGHDSGHmTMjAGHDSH214I7FHSi1: 15347: 0: 99999: 7 :::
Senthil Kumaran
Jeszcze raz dziękuję za wyraźną odpowiedź. Jeśli muszę utworzyć osobnego użytkownika dla SSH i dodać go do jakiejś konfiguracji SSH, czy możesz podać mi kilka kroków w tym zakresie.
Senthil Kumaran,

Odpowiedzi:

11

Zablokowałeś konto.

Ze strony usermod(8):

-L, --lock
           Lock a user's password. This puts a '!' in front of the encrypted password,
           effectively disabling the password.

Teraz spójrz na swoją shadowlinię:

ubuntu:!$6$rWDSG...HSi1:15347:0:99999:7:::

Odblokuj:

usermod -U ubuntu

Ważna uwaga! Jeśli ten użytkownik jest wstępnie zainstalowany w systemie, może zostać zablokowany z jakiegoś powodu (ze względów bezpieczeństwa), ale nie mogę zdecydować, że to dla ciebie, ponieważ najwyraźniej nie jest to zwykła instalacja Ubuntu.


Jeśli powyższe powoduje, że czujesz się niekomfortowo, możesz utworzyć osobnego użytkownika:

sudo adduser username

i odpowiedz na pytania. Powinieneś być w stanie zalogować się dobrze. Spraw, aby mógł stać się rootem (używać sudo), dodając go do sudogrupy:

sudo adduser username sudo

W przypadku konieczności przełączenia się na ubuntuużytkownika w wierszu polecenia musisz użyć podniesionych uprawnień, ponieważ nie możesz podać poświadczeń z tego samego powodu, dla którego nie możesz zalogować się przy użyciu SSH. Teraz zaloguj się za pomocą SSH as usernamei uruchom to, aby stać się ubuntu:

sudo su -l ubuntu

Ze względów bezpieczeństwa nie radzę używać rootdo bezpośredniego logowania.

gertvdijk
źródło
Wydaje mi się, że użytkownik „ubuntu” jest zablokowany ze względów bezpieczeństwa. Lub, aby uniknąć tego zamieszania, próbowałem również zalogować się przy użyciu mojego konta użytkownika root. Nadal pojawia się ten sam błąd w pliku terminalu i pliku auth.log.
Senthil Kumaran,
Masz na myśli rootkonto? To konto nie ma hasła i jest domyślnie zablokowane. Czy włączyłeś to?
Alaa Ali,
@Kamal Zaktualizowałem swoją odpowiedź, aby uwzględnić, jak to zrobić.
gertvdijk
Dzięki gertvdijk. Spróbuję teraz. Zredagowałem również moje pytanie i zaktualizowałem dane wyjściowe ssh -v ubuntu @ SERVER_IP
Senthil Kumaran,
@Alaa: Nie .. Nie włączyłem go. Próbowałem się zalogować przy użyciu roota. Obecnie używam użytkownika: „ubuntu” do logowania (w webminie)
Senthil Kumaran
7

Mam ten sam problem i zajmuje mi to wiele godzin.

Zwracam jednak uwagę, że jest to nieprawidłowe hasło ze względu na różnicę w układzie klawiatury klienta serwera snd:

W Server pomyślałem, że ustawiłem hasło: WEwd@ds I zauważam, że @jest "to układ klawiatury serwera.

Prawidłowe hasło to: WEwd"ds


Dlatego musisz sprawdzić:

Układ klawiatury serwera [vs] Układ klawiatury stacji roboczej

Abdennour TOUMI
źródło
1
To było to. Mój system Raspbian powraca do klawiatury GB przy każdym ponownym uruchomieniu i muszę przejść do opcji Preferencje-> Klawiatura i mysz, aby zresetować ją do US. Dzięki, że czekałem na tę odpowiedź w styczniu 2018 r.
SDsolar
Miałem odwrotny problem - system Windows z jakiegoś powodu zmienił układ klawiatury, więc podawałem nieprawidłowe hasło za pośrednictwem mojego klienta SSH.
mwfearnley
5

To nie jest dokładna odpowiedź na to pytanie. Ale w moim przypadku były niepotrzebne linie. (były dwa razy ta sama linia)

PermitRootLogin yes

i również

AllowUsers otheruser

Do tego wiersza należy dodać użytkownika „root” lub skomentować ten wiersz.

I uruchom ponownie ssh service sshd restart

Sadee
źródło
to zadziałało dla mnie
VJ Ranga
2

Znalazłem problem i naprawiłem go.

Utworzyłem nowego użytkownika (o nazwie: senthil) i właśnie go użyłem do SSH. W Ubuntu czuję, że kiedy tworzymy nowego użytkownika, domyślnie hasło użytkownika root zostanie przypisane nowemu użytkownikowi. Nawet wtedy zresetuj i przypisz nowe hasło do nowo utworzonych użytkowników.

Raz po zresetowaniu hasła użytkownika i wprowadzeniu następujących zmian w sshd_config, teraz jestem w stanie połączyć wszystkie moje systemy (z mojej sieci) ze zdalnym serwerem.

Uwaga: wyłączyłem wszystkie uwierzytelnienia SSH (takie jak RSAAuthentication, PubkeyAuthentication i KerberosAuthentication) .. Włączyłem tylko autoryzację hasła.

Dziękuję Ci.

Senthil Kumaran
źródło
„Wydaje mi się, że kiedy tworzymy nowego użytkownika, domyślnie hasło użytkownika root zostanie przypisane nowemu użytkownikowi”. <- Nie, zostaniesz poproszony o ustawienie hasła za pomocą adduser. Użyłeś useraddzamiast tego?
gertvdijk
Użyłem następujących dwóch poleceń: „sudo adduser -y senthil” i „sudo adduser senthil sudo”. Może być tak, że stworzyliśmy użytkownikom korzystania webmina wiersza poleceń, nie pytało mnie, aby wprowadzić hasło podczas tworzenia użytkownika
Senthil Kumaran
gertvdijk, uważam, że mam tylko dostęp do serwera dla serwera. W wierszu komend webmin monit GUI lub instalacja krok po kroku nie jest możliwa. Czuję więc, że w wierszu poleceń webmin nie poprosił mnie o podanie hasła. Co mogę zrobić w takich przypadkach? Czy jest jakieś inne polecenie niż „sudo adduser -y senthil”, takie, że w JEDNYM POLECENIU utworzę i przypisam hasła użytkownikom? przepraszam za długie pytanie.
Senthil Kumaran
Ale masz dostęp do konsoli na EC2, prawda? Oczywiście uruchamianie tych poleceń przez Webmin jest BARDZO ograniczone. Przepraszam, że nie powiedziałem wprost o tym w konsoli zamiast w Webmin (to naprawdę ogranicza twoje opcje / możliwości).
gertvdijk
Miałeś na myśli to, że po prostu zmieniasz hasło tego użytkownika i wszystko w porządku? Mam ten sam problem. W moim przypadku wszyscy użytkownicy uwzględniają root otrzymanie tego błędu ?!
shgnInc,
2

Mam dla Ciebie rozwiązanie W swoim pliku sshd_config dodajesz następujący wiersz na końcu pliku:

AllowUsers senthil

Ta linia pozwoli Twojemu serwerowi połączyć się z nazwą użytkownika: senthil. Inny użytkownik zostanie odrzucony. Następnie przejdź do terminala na swoim serwerze i wpisz następującą komendę:

ssh senthil@yourhostname

Gotowy! Życzymy powodzenia Więcej informacji można tu przyjść i zobaczyć. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/

Dang_Ho
źródło
1

W moim przypadku rozwiązało to problem: na serwerze z otwartym serwerem zmieniłem hasło użytkownika (moja_nazwa_serwera) i hasło roota (roota) na hasło, którego poprzednio używałem:

sudo passwd myserverusername

i

sudo passwd root

Następnie uruchom ponownie demona serwera ssh:

sudo service ssh restart

To dziwne, ponieważ nie pamiętam zmieniania haseł

Tomás Arturo Herrera Castro
źródło
0

Dla zdesperowanych, sprawdź /etc/hostsdokładnie swój plik, aby upewnić się, że nie oszukujesz komputera, aby pomyśleć, że nazwa hosta ma inny adres IP niż naprawdę. >. <

Alexander Taylor
źródło
0

Sprawdź sshdlistę dostępu dla dozwolonych użytkowników (plik konfiguracyjny)

  1. cat /etc/ssh/sshd_config
  2. AllowUsers

nie należy ustawiać, należy je skomentować, #jak pokazano w przykładzie poniżej.

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
ClientAliveInterval 432000
ClientAliveCountMax 0
#AllowUsers TestUser
Willer
źródło
0

Widziałem wiele odpowiedzi na to pytanie. Ja też stanąłem przed problemem. Moja sprawa była taka, że ​​moje połączenie ssh działało wcześniej, zmieniłem na automatyczną aktualizację systemu Windows 10. Długo nie działał na Ubuntu na moim pulpicie.

Nie jestem pewien, na czym polega problem. Sprawdziłem plik \ etc \ hosts, plik sshd_config wszystko wyglądało dobrze. Potem postanowiłem sprawdzić ustawienia antywirusa - problem polega na bingo!

Aplikacja szpachlówki znajdowała się na liście odrzuconych. Więc włącz to ... a następnie zaloguj się pomyślnie. Wielki krzyk!

Niranjan Das
źródło
0

zaznacz #cat / etc / ssh / sshd_config, jeśli znalazłeś linię zaczynającą się od „AllowUsers dodaj użytkownika w ten sposób: AllowUsers scom omar ahmed root

Nowe życie
źródło