Alguém pode me dizer, por usar o SSH, por que um host também precisa ter uma chave pública e privada? E como posso gerar um par de chaves pública / privada para mim?
Você precisa da chave do host para saber que está se conectando ao servidor certo e não falso.
# private key
openssl genrsa -out privkey.pem 2048
# public key
openssl rsa -in privkey.pem -pubout -out pubkey.pem
Para mais informações:
http://www.openssl.org/docs/apps/rsa.html
http://www.openssl.org/docs/HOWTO/keys.txt
Difere de uma distribuição para outra. No Ubuntu, use este comando:
ssh-keygen
Ele irá gerar duas chaves, uma pública (a que você compartilhará com o servidor) e a outra é privada e você não deverá compartilhar com ninguém. Depois que a chave pública é copiada nas ~ / .ssh / allowed_keys no servidor, você pode efetuar o login sem solicitar a senha.
Chaves públicas / privadas são como bloqueios e chaves: o servidor envia um bloqueio, mas mantém a chave e, em seguida, você bloqueia suas mensagens no servidor. Você também precisa enviar um bloqueio ao servidor para poder recuperar esses dados.
De qualquer forma, para gerar chaves que você deve usar ssh-keygen
. Você precisa de chaves públicas e privadas para usar o SSL, um sistema de criptografia baseado em chaves assimétricas.