SSH: permissão negada (chave pública, gssapi-with-mic, senha)

17

==================================================== ==================

ATUALIZAÇÃO: Verificou-se que a configuração do sshd host2não permitirá o login da senha. Graças a pessoas responderam isso.

==================================================== ==================

Cenário: Trabalhando com uma empresa para o meu projeto de faculdade. Preciso usar o PuTTy para SSH host1primeiro e, a partir daí, SSH host2(veja abaixo). Foi-me dado um nome de usuário e senha no host2.

Eu não tenho acesso ao host2, então não tenho conhecimento dele sshd_config.

Foi o que aconteceu quando eu estava tentando fazer o SSH host2de host1:

ff@host1:~$ ssh -v host2
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /home/ff/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to host2 [192.*.*.*] port 22.
debug1: Connection established.
debug1: identity file /home/ff/.ssh/identity type -1
debug1: identity file /home/ff/.ssh/id_rsa type -1
debug1: identity file /home/ff/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'sd01' is known and matches the RSA host key.
debug1: Found key in /home/ff/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Next authentication method: publickey
debug1: Trying private key: /home/ff/.ssh/identity
debug1: Trying private key: /home/ff/.ssh/id_rsa
debug1: Trying private key: /home/ff/.ssh/id_dsa
debug1: Next authentication method: password
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic,password).

e meu /home/ff/.ssh/config:

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   HostbasedAuthentication no
    BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   AuthorizedKeysFile .ssh/authorized_keys
#   Cipher 3des
#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Gostaria de saber se há algo que eu possa fazer antes de ir para a empresa.

pepino
fonte
o nome de usuário "ff" no host 2 está correto?
Etagenklo 23/05
@etagenklo sim, foi o que me deram.
Gherkin #
Você deve perguntar ao administrador de host2.
jornane 23/05
Eu tive o mesmo problema. Eu acho que a causa é que eu tinha algo configurado errado na pasta $ HOME / .ssh do usuário. Depois mv $ HOME / .ssh $ HOME / .ssh.hide eu poderia fazer login usando a senha ssh
JackBauer35

Respostas:

8

O nome de usuário e a senha que você está tentando não são aceitos pelo host. Isso significa que você está se conectando ao servidor errado ou o nome de usuário ou a senha estão incorretos. Você deve solicitar ao administrador que verifique os logs host2, que deve indicar qual dos três é o caso.

Kasperd
fonte
2
É como se você fosse mais estúpido, porque tenho as senhas certas. E então você se lembra de diferentes layouts de teclado. Obrigado por me fazer voltar :)
skyw00lker
@ skyw00lker Essa é a razão pela qual eu pessoalmente uso senhas alfanuméricas.
kasperd
7

Primeiro

 chmod 700 .ssh

e depois :

 chmod 600 .ssh/authorized_keys

e teste isso:

restorecon -r -vv .ssh/authorized_keys
Ali Zemani
fonte
2
Isso funciona. Obrigado!
NightKnight em Cloudinsidr.com 4/11/19
2

No meu caso, foi causado pela criptografia do diretório inicial. Alterei o local das chaves ssh e resolveu o problema: (cópia do arquivo da web) http://tweaktheserver.com/ssh-cant-connect-authentications-that-can-continue-publickeygssapi-keyexgssapi-with-micpassword/

user173141
fonte
2
Por favor, adicione a essência da solução em sua resposta. As respostas somente de link são suscetíveis à podridão do link.
Deer Hunter
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Mark Henderson
obrigado por suas sugestões. Entendo que um link de trabalho pode ser um 'erro 404' no futuro e é importante mencionar os pontos da resposta em si. Também editei minha resposta.
user173141
O @DeerHunter foi profético: link apodreceu
Riet:
@Riet - edição sugerida. Nem tudo está perdido. Enquanto isso, você pode visitar a cópia capturada da página .
Deer Hunter
1

A autenticação GSSAPI parece estar ativada no cliente, mas falha e volta à autenticação por senha. Se você não conseguir fazer o login com o login e a senha fornecidos, a única coisa sensata a fazer é entrar em contato com alguém responsável pelo gerenciamento do servidor (a "empresa").

phoops
fonte
1

Eu tinha o mesmo problema, mas o problema para mim era que a configuração padrão do sistema operacional (CentOS 7) era criptografar o diretório do usuário, para que o authorized_keysarquivo colocado ~/.ssh/não funcionasse. A solução veio daqui, mas basicamente:

  1. em /etc/ssh/sshd_configdefinir a propriedade AuthorizedKeysFile como algo fora do diretório do usuário ( /etc/ssh/authorized_keys)
  2. reinicie o serviço sshd
Anatoly Geyfman
fonte
0

tente:
servidor ssh -p porta -o PreferredAuthentications = publickey

Alexandr Vladimirovich
fonte
seja um pouco mais detalhado sobre por que o OP deve usar seu comando e o que ele faz. O uso code stylingde comandos também é considerado bom estilo:``
Phillip -Zyan K Lee- Stockmann
-1

Eu precisava dar /home/ec2-userpermissões 700:

chmod -R 700 /home/ec2-user/
duhaime
fonte
Por que votar para excluir?
Duhaime
-1

Deixe-me acrescentar que você deve garantir que a chave pertence ao seu usuário.

Digite ls -lapara ver a qual usuário sua chave pertence.

Você pode alterar a propriedade:

sudo chown ubuntu:root myKey  //If you are using ubuntu.

Garanta também:

  • Você está usando a .pemchave correta se estiver usando linux (a massa é diferente)
  • Você definiu as permissões de chave corretas: sudo chmod 400 mykey.pem
  • Você está usando o nome de usuário correto: ssh -i mykey user@instanceip
JPaulino
fonte
-2

Podes tentar

ssh server -l user -o "PubkeyAuthentication=no"

OU em / etc / ssh / sshd_config, adicione / modifique a propriedade

PermitRootLogin yes
Adriano
fonte
ssh server -l user -o "PubkeyAuthentication=no" igual ssh user@server -o "PubkeyAuthentication=no"
Adriano
-2

$ ssh [email protected] -i .vagrant / machines / default / virtualbox / private_key

Isso funcionou para mim

karthik br
fonte