Eu tenho um servidor git de desenvolvimento que é implantado em um servidor ativo quando a liveramificação é enviada para. Cada usuário tem seu próprio logon e, portanto, o post-receivegancho 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-receivegancho, estou usando $GIT_SSHpara definir a chave privada com a -iopçã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.