Adiciona o ssh pubkey a authorized_keys no host local (pulando existente)

1

Eu precisava disso para adicionar o pubkey jenkins ao authorized_keys do meu host ao iniciar um contêiner docker com jenkins. Procurou soluções, mas não conseguiu encontrar pronto na internet. Pode parecer óbvio, mas não para mim, pelo menos:)

    
por Dmitriusan 02.09.2015 / 11:50

2 respostas

4
PUBKEY=$(cat ~/.ssh/id_rsa.pub); grep -q "$PUBKEY"  ~/.ssh/authorized_keys || echo "$PUBKEY" >> ~/.ssh/authorized_keys

Este one-liner verifica se pubkey já está presente no arquivo authorized_keys e o anexa ao final do arquivo, se ele não estiver presente.

~/.ssh/id_rsa.pub aqui é o caminho para o pubkey ser adicionado

~/.ssh/authorized_keys aqui é um caminho para segmentar authorized_keys file ( ~ símbolo significa '' '

Para o host remoto, pode-se usar ssh-copy-id

    
por 02.09.2015 / 11:50
2

Você pode pular toda a idéia de brincar com ~ / .ssh / authorized_keys e apenas usar o recurso SSH CA conforme descrito, por exemplo, aqui: link (role para baixo até" Como configurar as teclas do usuário ").

A beleza disso é que você configura seu contêiner uma vez (adicionando TrustedUserCAKeys /etc/ssh/users_ca.pub , em que users_ca.pub contém a parte pública da chave CA gerada em sua máquina local) e, a partir desse ponto, se você deseja conceder acesso a o contêiner para qualquer chave, basta assinar a parte pública dessa chave com sua chave particular da CA e especificar quais contas são permitidas para a chave que você está assinando. Funciona como mágica:)

    
por 04.09.2015 / 15:07