Estou usando o Ubuntu 18.04 LTS.
- Sempre que,
ssh-copy-id
pela primeira vez, ele coloca meuusername@host
no final da linha do arquivo authorized_keys, conforme o esperado.
Na máquina remota:
sacredos@sacredos-DT:~$ cat /home/sacredos/.ssh/auth*
ssh-rsa ... sacredos@sacredos-LT
Na máquina local:
sacredos@sacredos-LT:~$ ssh-add -l
4096 SHA256:... sacredos@sacredos-LT (RSA)
- Quando vou
ssh-copy-id
para outro computador ou para os subsequentes, ele coloca o caminho para o arquivo de identificação lá.
Na máquina remota após limpar e copiar novamente a chave:
sacredos@sacredos-DT:~$ cat /home/sacredos/.ssh/auth*
ssh-rsa ... /home/sacredos/.ssh/id_rsa
Na máquina local depois de copiar a chave novamente:
sacredos@sacredos-LT:~$ ssh-add -l
4096 SHA256:... /home/username/.ssh/id_rsa (RSA)
- Instalei um sistema novo para verificar se não é algo que fiz com configs e tal, mas ele se comporta da mesma forma. Também não importa se é a mesma máquina em um estado limpo ou uma nova máquina, se a chave for ssh-copy-id'ed mais de duas vezes ou mais, isso acontece.
O que está acontecendo aqui?
Da
ssh-copy-id(1)
página man:Então você deve sempre usar, por exemplo.
-i ~/.ssh/id_rsa.pub
(conforme mencionado na página de manual) ou dispense o usossh-agent
se desejar preservar o comentário do arquivo de identidade.Observe que por padrão no debian (e provavelmente no ubuntu também) uma sessão GUI é executada como um subprocesso de
ssh-agent
(veja/etc/X11/Xsession.d/90x11-common_ssh-agent
), então você estará usandossh-agent
mesmo que não queira.Além disso, a chave será adicionada automaticamente ao
ssh-agent
executarssh
(viassh-copy-id
), sem precisar executarssh-add
, se você tiver aAddKeysToAgent
opção habilitada (consulte a página dessh_config(5)
manual).