o id_rsa.pub
pode ser copiado em qualquer lugar sem qualquer perigo real para ele. Esta é a sua chave pública e destina-se a coisas como esta. É metade de um par de chaves, e compartilhá-lo com lugares que você quer acessar é como você permite que a chave privada funcione.
Para permitir login remoto, sua chave pública precisa ser listada em authorized_keys
( authorized_keys2
em alguns sistemas). Uma chave em cada linha, neste formato:
ssh-rsa AAAIHAVEREMOVEDTHEMAJORITYOFTHEKEYBECAUSEISEENONEEDTOPOSTTHATWALLOFTEXTHERE9yfRjxw== jarmund@jarmint
Para conseguir isso, depois de copiá-lo, basta anexá-lo ao arquivo authorized_keys
da seguinte forma: cat id_rsa.pub >> ~/.ssh/authorized_keys
A maioria dos sistemas sãos se recusará covardemente a permitir o uso de login baseado em chave se a pasta .ssh
tiver permissões muito frouxas. A pasta deve ser 700
, por isso, se você ainda tiver problemas: chmod 700 ~/.ssh
Além disso, os arquivos na pasta .ssh
devem ser 600: chmod 600 ~/.ssh
Editar 1:
O próprio arquivo, id_rsa.pub
não é necessário no servidor remoto. Apenas o conteúdo, como parte de authorized_keys
. Eu recomendo rodar ssh -vT [email protected]
para habilitar o registro detalhado, para que você possa ver exatamente de quais permissões ele reclama.
Editar 2:
Isso significa que nenhuma das chaves oferecidas corresponde ao que o servidor remoto possui no arquivo. O que você quer ver é algo assim:
debug1: Offering RSA public key: /home/jarmund/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 535
Coisas a verificar:
- Certifique-se de que uma das chaves privadas é aquela que corresponde à chave pública que você adicionou ao controle remoto
authorized_keys
- Verifique se a chave corresponde ao nome de usuário com o qual você está tentando fazer login (deve ser a última parte da chave pública)
- Tente renomear
authorized_keys
paraauthorized_keys2