As chaves SSH funcionam com uma chave privada em sua máquina local e uma chave pública correspondente na máquina remota.
Então - quando você rodou o ssh-keygen, você criou 2 chaves: a privada ( ~/.ssh/id_rsa
) e a pública ( ~/.ssh/id_rsa.pub
).
Você precisa copiar o conteúdo do arquivo de chave do Pubic ( ~/.ssh/id_rsa.pub
) da sua máquina local para o arquivo ~/.ssh/authorizedkeys
na máquina remota. Basta adicioná-lo a uma nova linha.
Se você estiver efetuando login na sua máquina remota a partir de uma máquina local DIFERENTE, precisará copiar o arquivo id_rsa da máquina original para a 2ª máquina local ou (melhor) criar outro par de chaves privada / pública para a segunda máquina local e copie a chave pública da segunda máquina para o servidor remoto.
O servidor remoto pode ter qualquer número de chaves públicas em ~/.ssh/authorizedkeys
, e é uma boa prática (acredito) ter um par de chaves diferente para cada uma das suas máquinas locais.
Se você precisar do ssh da máquina REMOTE para outra máquina (digamos que você tenha que voltar da máquina remota para o seu laptop), então você configuraria a máquina REMOTE com seu próprio par de chaves privado / público, e copie a chave pública da máquina remota para o arquivo ~/.ssh/authorizedkeys
do laptop.
Pense nisso assim: Cada máquina pode ter uma chave de porta (a chave privada) e qualquer outra máquina tem um buraco de fechadura (o arquivo de chaves autorizadas) - se outra máquina tiver uma configuração de buraco de fechadura na qual sua chave se encaixa, você poderá obter acesso. Para trabalhar na direção inversa, você precisa configurar outra chave e configurações de buraco da fechadura. (provavelmente não muito bem explicado - mas espero que ajude!).
O comando ssh-copy-id
é basicamente apenas um atalho para salvar manualmente.
Eu pessoalmente prefiro copiar a chave pública manualmente só porque gosto de fazer as coisas da maneira mais difícil. ;)