Erro SSH: permissão negada, tente novamente

23

Eu tenho uma configuração de servidor Ubuntu usando a instância amazon ec2. Preciso conectar minha área de trabalho (que também é uma máquina ubuntu) ao servidor ubuntu usando SSH.

Eu instalei o open-ssh no servidor ubuntu. Eu preciso de todos os sistemas da minha rede para conectar o servidor ubuntu usando SSH (não é necessário conectar através de chaves pem ou pub).

Portanto, abri a porta SSH 22 para meu IP estático nos grupos de segurança (AWS).

Meu arquivo SSHD-CONFIG é:

# 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

Através do webmin (shell de comando), criei um novo usuário chamado 'senthil' e adicionei esse novo usuário ao grupo 'sudo'.

sudo adduser -y senthil
sudo adduser senthil sudo

Tentei fazer login usando esse novo usuário 'senthil' em 'webmin'. Consegui fazer login com sucesso.

Quando tentei conectar o servidor ubuntu do meu terminal através do SSH,

ssh senthil@SERVER_IP

Ele me pediu para inserir a senha. Após a entrada da senha, ela exibiu:

Permission denied, please try again.

Em algumas pesquisas, percebi que eu precisava monitorar o log de autenticação do meu servidor para isso. Eu recebi o seguinte erro no meu log de autenticação (/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

Quando tentei depurar usando:

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: 

Para senha, digitei o mesmo valor que normalmente uso para o usuário 'ubuntu'.

Alguém pode me orientar onde está o problema e sugerir alguma solução para esse problema?

Senthil Kumaran
fonte
Você definiu a senha do ubuntuusuário? E você tem certeza de que está digitando corretamente? Inclua também a saída do id ubunturun do seu servidor na sua pergunta. Você bloqueou a conta, talvez? Considere incluir a saída de grep ^ubuntu /etc/passwd /etc/shadow(e altere a senha criptografada apenas no meio da cadeia).
214132 Gertvdijk
Na verdade, eu não criei nenhum usuário separado para SSH. Eu usei o usuário que eu normalmente uso para o login do servidor. A saída do grep ^ ubuntu / etc / passwd / etc / shadow é: / 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 Kuma22
Mais uma vez obrigado pela sua resposta clara. Se eu precisar criar um usuário separado para SSH e adicionar isso a algumas configurações de SSH, você pode me dar algumas etapas para isso.
Senthil Kumaran

Respostas:

11

Você bloqueou a conta.

Na página de manual de usermod(8):

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

Agora olhe para sua shadowlinha:

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

Desbloqueie-o:

usermod -U ubuntu

Nota importante! Se este usuário estiver pré-instalado no sistema, ele pode estar bloqueado por um motivo (motivos de segurança), mas não posso decidir isso por você, pois essa aparentemente não é uma instalação normal do Ubuntu.


Se o exposto acima causar desconforto, você poderá criar um usuário separado:

sudo adduser username

e responda as perguntas. Você deve conseguir fazer o login muito bem. Além disso, torne-o root (uso sudo) adicionando-o ao sudogrupo:

sudo adduser username sudo

Caso precise mudar para o ubuntuusuário na linha de comando, você precisará usar seus privilégios elevados, porque não poderá fornecer credenciais pelo mesmo motivo pelo qual não pode fazer login usando o SSH. Agora, efetue login usando SSH como usernamee execute isto para se tornar ubuntu:

sudo su -l ubuntu

Por motivos de segurança, eu não recomendaria usar o rootlogin diretamente.

gertvdijk
fonte
Eu sinto que o usuário 'ubuntu' está bloqueado por razões de segurança. Ou, para evitar essa confusão, também tentei fazer login usando minha conta de usuário root. Ainda estou recebendo o mesmo erro no terminal e no arquivo auth.log.
Senthil Kumaran
Você quer dizer a rootconta? Essa conta não tem uma senha e está bloqueada por padrão. Você ativou?
Alaa Ali
@ Kamal Atualizei minha resposta para incluir como fazer isso.
gertvdijk
Obrigado gertvdijk. Vou tentar isso agora. Eu também tenho editted minha pergunta e atualizado a saída do ssh -v ubuntu @ SERVER_IP
Senthil Kumaran
@Alaa: Não. Eu não o habilitei. Apenas tentou login usando raiz .. Atualmente estou usando o usuário: 'ubuntu' para login (em webmin)
Senthil Kumaran
7

Eu tenho o mesmo problema e leva muitas horas para mim.

No entanto, observe que é uma senha incorreta devido à diferença entre o layout do teclado do servidor e o cliente:

No servidor, pensei em definir a senha: WEwd@ds e observe que @está "no layout do teclado do servidor.

Portanto, a senha correta é: WEwd"ds


Portanto, você precisa verificar:

Layout do teclado do servidor [vs] Layout do teclado da estação de trabalho

Abdennour TOUMI
fonte
1
Era isso. Meu sistema Raspbian reverte para o teclado GB a cada reinicialização e eu tenho que ir em Preferências-> Teclado e Mouse para redefini-lo para os EUA. Obrigado por ter esta resposta esperando que eu precise dela janeiro de 2018.
SDsolar
Eu tive o problema oposto - o Windows alterou meu layout de teclado por algum motivo e, portanto, estava fornecendo a senha errada através do meu cliente SSH.
Mkfearnley 31/12/19
5

Esta não é a resposta exata para esta pergunta. Mas no meu caso, havia linhas redundantes. (havia a mesma linha duas vezes)

PermitRootLogin yes

e também

AllowUsers otheruser

Você deve adicionar o usuário 'root' a esta linha ou comentar esta linha.

E reinicie o ssh service sshd restart

Sadee
fonte
funcionou para mim
VJ Ranga 31/01
2

Eu descobri onde está o problema e resolvi.

Eu criei um novo usuário (chamado: senthil) e apenas o usei para SSH. No Ubuntu, sinto que, quando criamos um novo usuário, por padrão, a senha do usuário root será atribuída ao novo usuário. Mesmo assim, redefina e atribua uma nova senha aos usuários recém-criados.

Após a redefinição da senha do usuário e as seguintes alterações no sshd_config, agora consigo conectar todos os meus sistemas (da minha rede) ao servidor remoto.

Observação: eu desativei todas as autenticações SSH (como RSAAuthentication, PubkeyAuthentication e KerberosAuthentication). Ativei apenas a PasswordAuthentication.

Obrigado.

Senthil Kumaran
fonte
"Sinto que, quando criamos um novo usuário, por padrão, a senha do usuário root será atribuída ao novo usuário." <- Não, você deve definir uma senha usando adduser. Você usou em useraddvez disso?
gertvdijk
Eu usei os dois comandos a seguir: "sudo adduser -y senthil" e "sudo adduser senthil sudo". Pode ser que eu tenha criado os usuários usando webmin linha de comando, não me pediram para digitar a senha durante a criação do usuário
Senthil Kumaran
gertvdijk, considere que estou tendo apenas acesso webmin para um servidor. Na linha de comando do webmin, o prompt da GUI ou a instalação passo a passo não é possível. Então, sinto que, na linha de comando do webmin, ele não me pediu para inserir a senha. Nesses casos, o que posso fazer? Existe algum outro comando, além de "sudo adduser -y senthil", de modo que no ONE COMMAND eu crie e atribua senhas aos usuários? desculpe pela longa pergunta.
Senthil Kumaran
Mas você tem acesso ao console em um EC2, certo? Obviamente, a execução desses comandos via Webmin é MUITO limitada. Lamento não ter sido explícito ao executar isso no console, e não no Webmin (isso realmente limita suas opções / recursos).
precisa saber é
Você quis dizer isso, você acabou de mudar a senha desse usuário e tudo bem? Eu tenho o mesmo problema. No meu caso, todos os usuários incluem root, obtêm esse erro ?!
shgnInc
2

Eu tenho uma solução para você No seu arquivo sshd_config, você adiciona a seguinte linha no final do arquivo:

AllowUsers senthil

Esta linha permitirá que seu servidor possa se conectar ao nome do usuário: senthil. Outro usuário será negado. Depois disso, vá ao seu terminal em seu servidor e digite este comando:

ssh senthil@yourhostname

Feito! Boa sorte para você Mais informações que você pode vir aqui e ver. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/

Dang_Ho
fonte
1

No meu caso, isso resolveu o problema: No servidor executando o openssh-server, alterei a senha de usuário (myserverusername) e root (root) para a que eu estava usando anteriormente:

sudo passwd myserverusername

e

sudo passwd root

Em seguida, reinicie o daemon do servidor ssh:

sudo service ssh restart

É estranho porque não me lembro de alterar senhas

Tomás Arturo Herrera Castro
fonte
0

Para os desesperados, verifique seu /etc/hostsarquivo para ter certeza de que não está enganando seu computador, pensando que um determinado nome de host tem um IP diferente do que realmente é. >. <

Alexander Taylor
fonte
0

Verifique a sshdlista de acesso para usuários permitidos (arquivo de configuração)

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

não deve ser definido, deve ser comentado #como mostrado no exemplo abaixo.

# 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
fonte
0

Eu já vi muitas respostas para essas perguntas. Eu também enfrentei o problema. Meu caso era que minha conexão ssh estava funcionando antes disso, mudei para o Windows 10 atualizado automaticamente. Não funcionou no Ubuntu na minha área de trabalho por muito tempo.

Não tenho certeza qual foi o problema. Eu verifiquei o arquivo \ etc \ hosts, o arquivo sshd_config tudo parecia bem. Então eu decidi verificar minhas configurações de antivírus - bingo, esse é o problema!

O aplicativo de massa estava na lista de negados. Então habilitei ... então efetue login com sucesso. Um grande grito!

Niranjan Das
fonte
0

marque #cat / etc / ssh / sshd_config se você encontrou a linha iniciar com "AllowUsers adicione seu usuário, como: AllowUsers scom omar ahmed root

Vida nova
fonte