Estou tentando fazer o SSH de um NAS para um servidor da web usando uma chave pública. O usuário do NAS é 'root' e o usuário do servidor da web é 'backup'
Eu tenho todas as permissões definidas corretamente e quando depuro a conexão SSH, recebo: (último pouco da depuração)
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /root/.ssh/id_dsa.pub
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_dsa.pub':
Eu estou usando o comando:
ssh -v -i /root/.ssh/id_dsa.pub [email protected]
O fato de estar solicitando uma senha é um bom sinal, com certeza, mas não quero que ela solicite essa ou uma senha (que aparece depois se eu pressionar 'retornar' na senha)
fonte
Isso aconteceu comigo quando a chave privada que eu tinha não estava no formato OpenSSH.
Originalmente, eu gerava minha chave no Windows usando o PuttyGen e estava sendo devolvido com a mesma coisa.
Consegui corrigi-lo carregando a chave no PuttyGen e clicando em "Conversões" para obtê-lo no formato OpenSSH.
fonte
Existem algumas coisas.
Principalmente, se a KEY estiver solicitando uma senha, a chave foi gerada com ela. Em segundo lugar, se o sistema solicitar uma senha depois, a chave não será autenticada. Ou seja, você precisará regenerar sua chave SSH (ou alterá-la como sugerido por @rbtux) e corrigir os arquivos allowed_keys.
Os itens entre colchetes são opções, tipo e tamanho do bit (para indicar o óbvio: dsa> rsa, 4096> 1024 - em termos de "segurança").
Em seguida, você precisa adicionar a chave pública (.pub) aos arquivos
authorized_keys
eauthorized_keys2
(é um equívoco comum dizer que o .pub é para uso local, no entanto, deve ser comparado com isso).ssh
. Na pasta do servidor .Então, do seu lado, você deve certificar-se de que as permissões de chave são
chmod 600 id_example
e, para aliviar a digitação de tudo isso, você pode configurar o arquivo de configuração:~/.ssh/config
na sua caixa local (que é um esqueleto, você pode personalizar isso uma tonelada):fonte
$ ssh user@comp -i ~/.ssh/id_rsa.pub
e ele disse permissões erradas e privado chave será ignorada .. então mudei as permissões para 600 como id_rsa, e pedi uma senha. Então, na verdade, ele irá pedir uma senha se você especificar a chave pública, embora tanto a chave pública e chave privada não foram gerados com uma senhaPara mim, como a chave em si foi criptografada, segui as seguintes etapas:
$ ssh-agent bash
$ ssh-add
$ ssh-add /location/of/key
Para inspecionar a qualquer momento, a lista de chaves carregadas no momento:
Mais detalhes podem ser obtidos neste link
fonte
tente https://wiki.gentoo.org/wiki/Keychain
É uma espécie de embrulho
ssh-agent
essh-add
Prós: Não é necessário inserir a senha repetidamente, desde que você não reinicie. Pode ser usado em
crontab
.Pode ser ajuda.
fonte
Pode ser porque você está usando uma DSkey pubkey que está desativada por padrão no OpenSSH v7.
Se você não puder alterar o par de chaves, uma possível solução alternativa será solicitar ao seu daemon SSH em webserver.com que aceite esses tipos de chave, atualizando
/etc/ssh/sshd_config
ou equivalente, adicionando a seguinte linhaE, em seguida, reiniciando o serviço
fonte
No Mac OSX, você pode adicionar sua chave privada ao chaveiro usando o comando:
Se sua chave privada estiver armazenada em ~ / .ssh e tiver o nome id_rsa:
Você será solicitado a fornecer sua senha, que será armazenada em seu chaveiro.
fonte