Estou configurando um novo servidor Ubuntu (18.04) e percebi durante a instalação que posso importar chaves públicas do github. Concluí a configuração e gostaria de criar mais alguns usuários. Parece ideal continuar importando suas chaves públicas do GitHub, se possível. Existe uma maneira de acionar esse recurso de importação de chaves de um perfil público do GitHub para um usuário fora do processo de instalação?
Responder1
Pouco tempo depois de postar a pergunta, encontrei a resposta. Existe um comando especial ssh-import-id
que pode importar chaves ssh. Opágina de manual para ssh-import-idexplica muito bem. Está hospedado comossh-import-id na barra de lançamentotambém.
Uso básico:
# import keys from github
ssh-import-id-gh <username>
Espero que isso ajude outros.
Responder2
O GitHub fornece isso por meio de umPonto final da APIque você pode baixar e analisar. Infelizmente para nós, isso retorna objetos em formato JSON, por isso às vezes é um pouco difícil de analisar (especialmente no shell).
Felizmente para nós, existe outro endpoint para obter as chaves SSH públicas de um usuário:
https://github.com/<username>.keys
Você pode usar isso para wget
baixar e anexar chaves de maneira muito simples e sem qualquer análise:
wget -O - https://github.com/myuser.keys >> /home/myuser/.ssh/authorized_keys
Observe que para usar este comando, você precisará de permissões de gravação no diretório inicial desse usuário. Opcionalmente, você também pode usar tee -a
, o que seria mais fácil se os privilégios não fossem garantidos:
wget -O - https://github.com/myuser.keys | sudo tee -a /home/myuser/.ssh/authorized_keys