Tendo problemas para fazer logon no meu servidor ssh

2

Eu me sinto muito idiota ao perguntar isso, mas já estou trabalhando nisso há alguns dias (dentro e fora) e não consigo descobrir. Acabei de instalar o lubuntu na minha máquina e posso ssh localmente usando autenticação de host local e senha e posso fazer o ping de outras duas máquinas. Eu tento ssh de qualquer uma dessas máquinas e ele continua falhando na autenticação com minha senha.

Eu reinstalei o openssh-server algumas vezes e simplesmente não consigo entender.

Alguém tem alguma sugestão sobre qual pode ser o problema?

Novas informações:

Eu criei um novo usuário apenas para garantir que não estava relacionado ao usuário e que o novo usuário também não pôde fazer login.

Aqui está a saída do ssh -vv cusername @ fable:

ssh -vv cusername@fable
OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to fable [192.168.1.76] port 22.
debug1: Connection established.
debug1: identity file /home/susername/.ssh/identity type -1
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug2: key_type_from_name: unknown key type '-----END'
debug1: identity file /home/susername/.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 /home/susername/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version 1.00
debug1: no match: 1.00
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
debug2: fd 4 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa
debug2: kex_parse_kexinit: aes128-cbc
debug2: kex_parse_kexinit: aes128-cbc
debug2: kex_parse_kexinit: hmac-sha1,hmac-md5
debug2: kex_parse_kexinit: hmac-sha1,hmac-md5
debug2: kex_parse_kexinit: none
debug2: kex_parse_kexinit: none
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-cbc hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-cbc hmac-md5 none
debug2: dh_gen_key: priv key bits set: 132/256
debug2: bits set: 506/1024
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'fable' is known and matches the RSA host key.
debug1: Found key in /home/susername/.ssh/known_hosts:3
debug2: bits set: 528/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/susername/.ssh/identity ((nil))
debug2: key: /home/susername/.ssh/id_rsa (0x219e2358)
debug2: key: /home/susername/.ssh/id_dsa ((nil))
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/susername/.ssh/identity
debug1: Offering public key: /home/susername/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/susername/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
cusername@fable's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
cusername@fable's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
cusername@fable's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey,password).

Aqui está o meu iptables:

sudo iptables -L
[sudo] password for susername: 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

Aqui está o meu nmap da máquina remota para o servidor em questão: nmap -P0 192.168.1.76

Starting Nmap 5.00 ( http://nmap.org ) at 2012-07-24 23:32 CDT
Interesting ports on fable (192.168.1.76):
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 1.58 seconds

cat / etc / ssh / 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

Em seguida, copiei o sshd_config.factory-default para sshd_config e tive os mesmos problemas de não aceitar minha senha.

ATUALIZAR:

Eu desisto. Parecia que havia algum problema com o lubuntu, mas provavelmente foi algo complicado que eu fiz. Acabei instalando o linux-mint lá e tudo estava funcionando perfeitamente. Quem sabe ... Eu realmente gosto de linux-mint!

stephenmm
fonte
Você tem um /etc/hosts.allow ou /etc/hosts.deny?
Paul
ssh -v ...diz ...?
Ignacio Vazquez-Abrams
@ Paul: Eu tenho ambos, mas ambos parecem ser apenas comentários. Ign: Posso colocar isso, mas quero esfregar primeiro.
27412
@stephenmm Você tem um firewall em execução?
Paul
Eu não acredito nisso, mas mesmo que eu fizesse isso não me impediria antes de tentar autenticar minhas credenciais?
27412

Respostas:

2

Como posso ler em seus logs, nem firewall nem alguns hosts.deny- ou você não teria alcançado o prompt de senha. Mas vamos analisar sua saída de log.

Primeiro, parece que seu arquivo de identidade precisa ser substituído:

debug1: identity file /home/susername/.ssh/identity type -1
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug2: key_type_from_name: unknown key type 'Proc-Type:'
debug2: key_type_from_name: unknown key type 'DEK-Info:'
debug2: key_type_from_name: unknown key type '-----END'

Essa é uma chave exportada e blindada ASCII - o ssh requer a chave binária original. Mas parece que você tem outros dois arquivos de chave privada válidos:

debug1: identity file /home/susername/.ssh/id_rsa type 1
debug1: identity file /home/susername/.ssh/id_dsa type -1

Além disso, o host remoto é verificado com êxito:

debug1: Host 'fable' is known and matches the RSA host key.
debug1: ssh_rsa_verify: signature correct

Em seguida, apenas um dos seus arquivos de chave privada é válido:

debug2: key: /home/susername/.ssh/identity ((nil))
debug2: key: /home/susername/.ssh/id_rsa (0x219e2358)
debug2: key: /home/susername/.ssh/id_dsa ((nil))

Eu já mostrei o que há de errado com o primeiro. Além disso, vemos que o servidor não aceitou nenhuma das chaves - e, portanto, a negociação volta ao prompt de senha interativa:

debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/susername/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

E finalmente:

cusername@fable's password: 
debug2: we sent a password packet, wait for reply
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: No more authentication methods to try.
Permission denied (publickey,password).

Parece que você também forneceu a senha errada.

Resumo:

Duas chaves privadas inválidas são inutilizáveis, a terceira não é aceita pelo servidor - o que faz você voltar ao prompt de senha interativa. Sua senha não é aceita. Tem certeza de que forneceu a senha correta para o usuário nomeado no host remoto? Possíveis erros aqui:

  • a senha fornecida é para um usuário diferente
  • usuário e senha podem corresponder no host local - mas no host remoto, esse usuário tem uma senha diferente
  • usuário não existe no host remoto

EDITAR:

Se o login usando nome de usuário / senha ainda falhar, embora você tenha certeza de ter fornecido a senha correta, uma boa idéia é verificar /var/log/auth.loga máquina na qual você tenta fazer login. Esse arquivo de log deve fornecer mais detalhes sobre o que deu errado (todas as tentativas de login, bem como as tentativas de sudo, são registradas lá).

Izzy
fonte
Primeiro, obrigado por dedicar um tempo para analisar isso e realmente apreciá-lo. Eu não sabia que o usuário / senha poderia corresponder no local, mas ser diferente no host remoto? Eu pensei que ele usava as credenciais do linux para autenticar usuário / passwd?
27412
@stephenmm: Como isso ajudaria? Isso não prova que você tem direito a acessar a máquina remota, apenas a local.
David Schwartz
Talvez mais alguns detalhes para tornar mais claro: com várias máquinas (por exemplo, host1 e host2), você pode ter um usuário "johndoe" nos dois. Na linha de comando, você cria esse usuário com o useraddcomando No host1 useradd -p password1 johndoe:, no host2 useradd -p password2 johndoe. Agora você tem o mesmo usuário (local) nas duas máquinas - mas com senhas diferentes.
Izzy
Senha1 e senha2 são diferentes, então hoje à noite eu posso tentar alterá-las para que sejam iguais, apenas para eliminar uma variável, mas deixe-me esclarecer o que fiz; Instalei o openssh-server no host1 e, a partir do host2, ssh jondoe @ host1 'e digitei password1. Ah, e então eu chutei host1 na unidade de disco.
27412
Além do chute, isso parece correto e deveria ter funcionado. Você também pode verificar com o seu /var/log/auth.logque pode fornecer informações adicionais sobre por que o login foi recusado.
Izzy