Eu tenho um servidor git de desenvolvimento que é implantado em um servidor ativo quando a live
ramificação é enviada para. Cada usuário tem seu próprio logon e, portanto, o post-receive
gancho que faz a implantação ao vivo é executado sob seu próprio usuário.
Como não quero manter as chaves públicas dos usuários como chaves autorizadas no servidor ativo remoto, criei um conjunto de chaves que pertencem ao sistema git para adicionar aos servidores ativos remotos (no post-receive
gancho, estou usando $GIT_SSH
para definir a chave privada com a -i
opção).
Meu problema é que, como todos os usuários podem querer implantar para viver, a chave privada do sistema git precisa ser pelo menos legível por grupo e o SSH realmente não gosta disso.
Aqui está uma amostra do erro:
XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
Eu olhei em volta, esperando encontrar algo para forçar o ssh a continuar com a conexão, mas não encontrei nada além de pessoas dizendo cegamente que você não deveria permitir acesso a nada além de um único usuário.