Estou tentando configurar o acesso ssh para uma conta de usuário que criei com o chef em um servidor digital ocean ubuntu 12.04. Eu tinha as opções definidas no oceano digital para copiar automaticamente a chave ssh do meu mac quando a gota é criada.
Posso fazer o ssh como root sem problemas, mas meu outro usuário não consegue se autenticar. esse parece ser um problema comum, 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 raiz (que obtém êxito) com esse comando são
depurar
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:
depurar
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 o login como usuário root e acessar 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. Não sei mais para onde olhar.
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
Edit2:
Conforme 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 voltouno changes
~/home/otheraccount/.ssh
deve ter700
e~/home/otheraccount/.ssh/authorized_keys
deve ter600
permissão e ambos os arquivos devem pertencer aotheraccount
drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh
-rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys
serverIP
(/var/log/auth.log
) quando você tenta fazer login comodeploy
usuário?passwd -u
. Pode entrar comodeploy
agora, mas realmente curioso por que meu chef implantar está criando usuários bloqueados. Por favor, copie / cole o seu comentário acima como uma resposta para que eu possa dar-lhe créditoRespostas:
Os logins do SSH podem falhar por vários motivos (permissões incorretas de diretório / arquivo, chaves incorretas etc.) e o cliente de conexão apenas obtém
Permission denied
ouNo more authentication methods to try
ou algum erro genérico.O motivo exato da falha no login estará disponível no log ssh
/var/log/auth.log
ou/var/log/secure
dependendo da configuração do syslog.fonte
Mesmo problema para mim nova instalação do CentOS7.
1. verifique as permissões de diretório inicial e as permissões ~ / .ssh e ~ / .ssh / allowed_keys (como @clement diz)
2. verifique / etc / ssh / sshd_config settings && service sshd restart (após cada edição) Útil: tente "LogLevel VERBOSE" em sshd_config.
Ainda recebi o aviso de senha depois de verificar tudo o que estava ok.
Execute o cliente ssh com logs -vvv:
Logs do servidor (/ var / log / secure):
O servidor ssh não envia mais informações de erro ao cliente, pois isso seria um risco à segurança.
Se eu executasse o sshd na porta diferente 'sshd -p 5555 -d'. A chave funcionou. Login sem senha ok. WTF?
SAD :-( para dizer que eu desabilitei o selinux (configure SELINUX = desabilitado em / etc / selinux / config) e reinicie. O login sem senha funcionou bem.
minhas configurações atuais de sshd_config em funcionamento:
Portanto, seria bom saber que poderíamos mudar algo pequeno no selinux para que o login ssh sem senha funcione. Alguém pode melhorar a resposta?
mesmo aqui: /superuser/352368/ssh-still-asks-for-password-after-setting-up-key-based-authentication/1072999#1072999
fonte