Erreur SSH: autorisation refusée, veuillez réessayer


23

J'ai une configuration de serveur Ubuntu utilisant l'instance amazon ec2. J'ai besoin de connecter mon bureau (qui est également une machine Ubuntu) au serveur Ubuntu en utilisant SSH.

J'ai installé open-ssh sur le serveur Ubuntu. J'ai besoin de tous les systèmes de mon réseau pour connecter le serveur Ubuntu à l'aide de SSH (pas besoin de se connecter via des clés pem ou pub).

D'où l'ouverture du port SSH 22 pour mon IP statique dans les groupes de sécurité (AWS).

Mon fichier SSHD-CONFIG est:

# 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

Grâce à webmin (Command shell), j'ai créé un nouvel utilisateur nommé 'senthil' et ajouté ce nouvel utilisateur au groupe 'sudo'.

sudo adduser -y senthil
sudo adduser senthil sudo

J'ai essayé de me connecter en utilisant ce nouvel utilisateur «senthil» dans «webmin». J'ai pu me connecter avec succès.

Lorsque j'ai essayé de connecter le serveur Ubuntu à partir de mon terminal via SSH,

ssh senthil@SERVER_IP

Il m'a demandé d'entrer un mot de passe. Après la saisie du mot de passe, il a affiché:

Permission denied, please try again.

Lors de certaines recherches, j'ai réalisé que je devais surveiller le journal d'authentification de mon serveur pour cela. J'ai eu l'erreur suivante dans mon journal d'authentification (/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

Quand j'ai essayé de déboguer en utilisant:

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: 

Pour le mot de passe, j'ai entré la même valeur que j'utilise normalement pour l'utilisateur 'ubuntu'.

Quelqu'un peut-il me guider où est le problème et suggérer une solution à ce problème?


Vous avez défini le mot de passe de l' ubuntuutilisateur? Et vous êtes sûr de le taper correctement? Incluez également la sortie d' id ubuntuexécution de votre serveur dans votre question. Avez-vous verrouillé le compte peut-être? Pensez à inclure la sortie de grep ^ubuntu /etc/passwd /etc/shadow(et modifiez le mot de passe chiffré uniquement au milieu de la chaîne).
gertvdijk

En fait, je n'ai créé aucun utilisateur séparé pour SSH. J'ai utilisé l'utilisateur que j'utilise normalement pour la connexion au serveur. La sortie de grep ^ ubuntu / etc / passwd / etc / shadow est: / 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

Merci encore pour votre réponse claire .. Si je dois créer un utilisateur séparé pour SSH et l'ajouter à une configuration SSH, pouvez-vous me donner quelques étapes pour cela.
Senthil Kumaran

Réponses:


11

Vous avez verrouillé le compte.

Depuis la page de manuel de usermod(8):

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

Regardez maintenant votre shadowligne:

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

Déverrouillez-le:

usermod -U ubuntu

Note importante! Si cet utilisateur est préinstallé sur le système, il peut être verrouillé pour une raison (raisons de sécurité), mais je ne peux pas décider cela pour vous car il ne s'agit pas apparemment d'une installation régulière d'Ubuntu.


Si ce qui précède vous met mal à l'aise, vous pouvez créer un utilisateur distinct:

sudo adduser username

et répondez aux questions. Vous devriez pouvoir vous connecter très bien. Rendez-le également capable de devenir root (utilisation sudo) en l'ajoutant au sudogroupe:

sudo adduser username sudo

Si vous devez passer à l' ubuntuutilisateur sur la ligne de commande, vous devrez utiliser vos privilèges élevés, car vous ne pouvez pas fournir d'informations d'identification pour la même raison que vous ne pouvez pas vous connecter à l'aide de SSH. Maintenant, connectez-vous en utilisant SSH as usernameet exécutez-le pour devenir ubuntu:

sudo su -l ubuntu

Pour des raisons de sécurité, je ne conseillerais pas d'utiliser rootpour vous connecter directement.


Je pense que l'utilisateur 'ubuntu' est verrouillé pour des raisons de sécurité. Ou pour éviter cette confusion, j'ai également essayé de me connecter en utilisant mon compte utilisateur root. Je reçois toujours la même erreur dans le fichier terminal et auth.log.
Senthil Kumaran

Tu veux dire le rootcompte? Ce compte n'a pas de mot de passe et est verrouillé par défaut. L'avez-vous activé?
Alaa Ali

@Kamal J'ai mis à jour ma réponse pour indiquer comment procéder.
gertvdijk

Merci gertvdijk. Je vais essayer ça maintenant. J'ai également édité ma question et mis à jour la sortie de ssh -v ubuntu @ SERVER_IP
Senthil Kumaran

@Alaa: Non. Je ne l'ai pas activé. Je viens d'essayer de me connecter en utilisant root .. Actuellement, j'utilise l'utilisateur: 'ubuntu' pour la connexion (dans webmin)
Senthil Kumaran

7

J'ai le même problème et cela me prend plusieurs heures.

Cependant, je note que c'est un mauvais mot de passe en raison de la différence entre la disposition du clavier du client snd du serveur:

Dans le serveur, je pensais que je définissais le mot de passe: WEwd@ds Et, je note que @c'est "dans la disposition du clavier du serveur.

Le bon mot de passe est donc: WEwd"ds


Ainsi, vous devez vérifier:

Disposition du clavier du serveur [vs] Disposition du clavier de la station de travail


1
C'était ça. Mon système Raspbian revient au clavier GB à chaque redémarrage et je dois aller dans Préférences-> Clavier et souris pour le réinitialiser aux États-Unis. Merci d'avoir cette réponse en attendant que j'en ai besoin janvier 2018.
SDsolar

J'ai eu le problème opposé - Windows a changé la disposition de mon clavier pour une raison quelconque, et donc je donnais le mauvais mot de passe via mon client SSH.
mwfearnley

5

Ce n'est pas la réponse exacte à cette question. Mais dans mon cas, il y avait des lignes redondantes. (il y avait deux fois la même ligne)

PermitRootLogin yes

et aussi

AllowUsers otheruser

Vous devez ajouter un utilisateur «root» à cette ligne ou commenter cette ligne.

Et redémarrez ssh service sshd restart


ça a fonctionné pour moi
VJ Ranga

2

J'ai trouvé où était le problème et corrigé.

J'ai créé un nouvel utilisateur (nommé: senthil) et je l'ai utilisé pour SSH. Dans Ubuntu, je pense que lorsque nous créons un nouvel utilisateur, par défaut, le mot de passe de l'utilisateur root sera attribué au nouvel utilisateur. Même dans ce cas, réinitialisez et attribuez un nouveau mot de passe aux utilisateurs nouvellement créés.

Une fois après la réinitialisation du mot de passe utilisateur et les modifications suivantes dans sshd_config, je suis maintenant en mesure de connecter tous mes systèmes (depuis mon réseau) au serveur distant.

Veuillez noter: J'ai désactivé toutes les authentifications SSH (comme RSAAuthentication, PubkeyAuthentication et KerberosAuthentication) .. J'ai activé uniquement PasswordAuthentication.

Je vous remercie.


"Je pense que lorsque nous créons un nouvel utilisateur, par défaut, le mot de passe de l'utilisateur root sera attribué au nouvel utilisateur." <- Non, vous êtes invité à définir un mot de passe à l'aide de adduser. L'avez-vous utilisé à la useraddplace?
gertvdijk

J'ai utilisé les deux commandes suivantes: "sudo adduser -y senthil" et "sudo adduser senthil sudo". Peut-être que j'ai créé des utilisateurs à l'aide de la ligne de commande de webmin, il ne m'a pas demandé de saisir de mot de passe lors de la création de l'utilisateur
Senthil Kumaran

gertvdijk, considérez que je n'ai qu'un accès webmin pour un serveur. En ligne de commande webmin, l'invite GUI ou l'installation pas à pas n'est pas possible. Je pense donc qu'en ligne de commande webmin, il ne m'a pas demandé d'entrer le mot de passe. Dans ce cas, que puis-je faire? Existe-t-il une autre commande, autre que "sudo adduser -y senthil", telle que dans UNE COMMANDE, je vais créer et attribuer des mots de passe aux utilisateurs? désolé pour la longue question.
Senthil Kumaran

Mais vous avez accès à la console sur un EC2, non? Bien sûr, l'exécution de ces commandes via Webmin est TRÈS limitée. Désolé de ne pas avoir été explicite sur l'exécution de cela dans la console plutôt que dans Webmin (cela limite vraiment vos options / capacités).
gertvdijk

Vous vouliez dire que, vous venez de changer le mot de passe de cet utilisateur et tout est OK? J'ai le même problème. Dans mon cas, tous les utilisateurs incluent root obtenir cette erreur?!
shgnInc

2

J'ai une solution pour vous Dans votre fichier sshd_config vous ajoutez cette ligne suivante à la fin du fichier:

AllowUsers senthil

Cette ligne permettra à votre serveur de se connecter au nom d'utilisateur: senthil. Un autre utilisateur sera refusé. Après cela, accédez à votre terminal sur votre serveur, tapez cette commande:

ssh senthil@yourhostname

Terminé! Bonne chance à vous Plus d'informations vous pouvez venir ici et voir. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/


1

Dans mon cas, cela a résolu le problème: sur le serveur exécutant openssh-server, j'ai changé le mot de passe utilisateur (myserverusername) et root (root) en celui que j'utilisais précédemment:

sudo passwd myserverusername

et

sudo passwd root

Redémarrez ensuite le démon du serveur ssh:

sudo service ssh restart

C'est étrange parce que je ne me souviens pas avoir changé de mot de passe


0

Pour les désespérés, revérifiez votre /etc/hostsfichier pour vous assurer que vous ne trompez pas votre ordinateur en pensant qu'un certain nom d'hôte a une IP différente de la réalité. >. <


0

Vérifier la sshdliste d'accès pour les utilisateurs autorisés (fichier de configuration)

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

ne doit pas être défini, il doit être commenté #comme indiqué dans l'exemple ci-dessous.

# 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

0

J'ai vu de nombreuses réponses à ces questions. Moi aussi, j'ai fait face au problème. Mon cas était que ma connexion ssh fonctionnait avant, j'ai changé pour Windows 10 mise à niveau automatique. Ne fonctionne pas depuis longtemps sur Ubuntu sur mon bureau.

Je ne sais pas quel était le problème. J'ai vérifié le fichier \ etc \ hosts, le fichier sshd_config tout allait bien. J'ai alors décidé de vérifier mes paramètres antivirus - le bingo est le problème!

La demande de mastic était sur la liste refusée. Alors activé ... puis connectez-vous avec succès. Un grand cri!


0

vérifiez #cat / etc / ssh / sshd_config si vous avez trouvé la ligne commençant par "AllowUsers ajoutez votre utilisateur dedans comme: AllowUsers scom omar ahmed root

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.