SSH Permissão negada (chave pública), mas raiz ssh funciona O

13

Estou tentando configurar o acesso ssh para uma conta de usuário que criei com o chef em um servidor digital do oceano ubuntu 12.04. Eu tinha as opções definidas no oceano digital para copiar automaticamente a chave ssh do meu mac quando o droplet é criado.

Eu posso ssh como root sem problemas, mas meu outro usuário não consegue autenticar. isso parece ser um problema comum, e eu verifiquei algumas das outras respostas e encontrei este comando para obter mais informações:

ssh -vvv -i id_rsa user@serverIP

Os logs para o usuário root (que é bem-sucedido) com esse comando são

depuração

1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp snip!
debug3: sign_and_send_pubkey: snip!
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).

usuário com falha:

depuração

1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/evan/.ssh/id_dsa
debug3: no such identity: /Users/evan/.ssh/id_dsa: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.

O que para mim significa que a chave pública está incorreta. Mas, se eu fizer login como o usuário root e ir para home/otheraccount/.ssh/authorized_keys , posso ver que minha chave ssh está lá. Eu pensei que talvez houvesse um erro, então eu fiz cp .ssh/authorized_keys ~/home/otheraccout/.ssh/authorized_keys mas isso não ajudou. Eu não sei mais onde procurar.

meu etc/ssh/sshd_conig :

# 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
"sshd_config" 88L, 2508C
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

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 no

# GS

SAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

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

#MaxStartups 10:30:60

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM no
Banner /etc/ssh_banner

editar:

drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh
-rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys

Editar2:

Como sugerido nos comentários: /var/log/authlog :

Apr 21 04:59:30 localhost sshd[586]: User deploy not allowed because account is locked
Apr 21 04:59:30 localhost sshd[586]: input_userauth_request: invalid user deploy [preauth]

Eu tentei fazer sudo usermod --expiredate -1 deploy e ele retornou no changes

    
por user2936314 20.04.2014 / 12:05

2 respostas

16
  • Os logins SSH podem falhar por vários motivos (permissões incorretas de diretório / arquivo, chaves incorretas etc.) e o cliente de conexão obterá apenas Permission denied ou No more authentication methods to try ou algum erro genérico.

  • O motivo exato da falha de login estará disponível em ssh log /var/log/auth.log ou /var/log/secure , dependendo da configuração do syslog.

por clement 21.04.2014 / 17:35
2

O mesmo problema para a instalação do CentOS7.

1. verifique permissões de dir home e ~ / .ssh e ~ / .ssh / authorized_keys (como diz @clement)

chmod o-w ~/; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

2. verifique as configurações do / etc / ssh / sshd_config & amp; & amp; service sshd restart (após cada edição) Útil: tente "LogLevel VERBOSE" em sshd_config.

Ainda recebo uma solicitação de senha depois de verificar tudo o que estava ok.

Execute o cliente ssh com logs -vvv:

debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply

Logs do servidor (/ var / log / secure):

Failed publickey for * from * port * ssh2: RSA *

O servidor ssh não envia mais informações de erro para o cliente, já que isso seria um risco de segurança.

Se eu executei o sshd na porta diferente 'sshd -p 5555 -d'. A chave funcionou. Login sem senha ok. WTF

SAD :-( para dizer que eu desativei o selinux (configure SELINUX = desabilitado em / etc / selinux / config) e reinicie. O login sem senha funcionou ok.

meu configurações atuais de trabalho sshd_config:

[root@hp-bl-05 ~]# grep -vE "^#|^$" /etc/ssh/sshd_config  
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
LogLevel VERBOSE
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
HostbasedAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem   sftp    /usr/libexec/openssh/sftp-server

Então, seria bom saber se poderíamos mudar algo pequeno no selinux para fazer com que o login do ssh sem senha funcionasse. Alguém pode melhorar a resposta?

mesmo aqui: link

    
por gaoithe 04.05.2016 / 14:52

Tags