Efetuando login por meio do túnel ssh com a chave rsa, continuando com a solicitação de senha

2

Eu tenho dois laptops (Host A e Host C) com endereços IP dinâmicos e um desktop (Host B), todos eles rodando Linux (Ubuntu). Agora eu tenho coisas configuradas para que eu possa acessar o Host A do Host C da seguinte maneira. Eu tenho um túnel ssh de A para C com o comando no hostA da forma

autossh -NR 10023:localhost:22 [email protected]

Estou usando um par de chaves para que esse comando autossh possa realmente acontecer.

Então eu posso ssh em B de C e então conectar a um com

ssh -p 10023 localhost

pede uma senha e eu posso entrar. Não há problemas aí.

No entanto, gostaria de melhorar a segurança em A, por isso, é necessária uma chave para o login. Então eu ssh-keygen um par de chaves no HostB e nomeio minha chave customkey_rsa e dar-lhe uma senha. Então customkey_rsa.pub é a chave pública. Eu não consigo fazer o ssh-copy-id funcionar com este túnel, então eu apenas loguei para A de C e scp sobre o customkey_rsa.pub do Host B. Então eu adiciono a chave com

cd .ssh & cat customkey_rsa.pub >> authorized_keys

Agora, quando tento fazer login, ainda recebo a solicitação de senha. Parece, na verdade, que chega a tentar a chave, mas de alguma forma desiste no último segundo como abaixo

de B

ssh -v -i customkey_rsa -p 10023 localhost

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Connecting to localhost [127.0.0.1] port 10023.
debug1: Connection established.
debug1: identity file customkey_rsa type 1
debug1: identity file customkey_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA (redacted)
debug1: Host '[localhost]:10023' is known and matches the ECDSA host key.
debug1: Found key in /home/ohnoplus/.ssh/known_hosts:2
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: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: customkey_rsa
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password 
ohnoplus@localhost's password: 

Observe que as permissões para ~/.ssh no Host A são 700 e para .ssh/authorized_keys é 600 .

Então, minha pergunta. Por que isso não funcionou e como posso corrigi-lo?

Coisas que eu vi que não ajudaram:

Trabalhou na lista de sugestões. As permissões estão definidas corretamente no meu sistema e as outras soluções não se aplicam. Por que Ainda recebo uma solicitação de senha com o ssh com autenticação de chave pública?

Semelhante, mas nenhuma solução fornecida: ssh com a chave rsa pede senha

Eu não tenho um arquivo "authorized_keys2" ssh solicita senha apesar de .ssh / authorized_keys

    
por ohnoplus 11.01.2015 / 05:12

1 resposta

-2

Você precisa adicionar:

PasswordAuthentication no

para o seu sshd_config (essa é a configuração do servidor)

    
por 12.01.2015 / 11:03