Arquivo de hosts conhecidos em todo o sistema?

Arquivo de hosts conhecidos em todo o sistema?

Estou tentando fazer um github-puxade um script php como um usuário www-data e estou recebendo "Falha na verificação da chave do host". Meu usuário principal tem a chave do host registrada, mas meu www-data não, pois nem tem acesso ao diretório ~/.ssh.

Ainda existe um arquivo de hosts conhecidos em todo o sistema no Ubuntu 18.04? Suponho que não seria seguro conceder ao usuário www-data acesso ao meu~/.ssh-diretório?

Responder1

Como sugerido pelo @GMaster, usar HTTPS em vez de SSH para um pull automatizado parece a escolha mais sensata. Mas, se você realmente precisa usar o protocolo ssh (por quê?), você tem algumas opções known_hostse credenciais:

  • Crie a ~/.sshárvore, incluindo um diretório inicial known_hostsat www-data' pré-preenchido (no meu sistema é /var/www, mas verifique o seu em /etc/passwd). Você mesmo pode criar o arquivo conectando e verificando a chave do host manualmente. Apenas certifique-se de que esses arquivos e diretórios tenham as permissões adequadas (geralmente 0700/0600) e propriedade.

  • Tenha este arquivo em outro lugar (com as devidas permissões) e aponte para ele usando-o UserKnownHostsFile=/path/to/known_hosts

  • Para ambas as abordagens acima, brinque com -o StrictHostKeyCheckingvárias opções e -o UpdateHostKeysequilibre entre segurança e conveniência.

  • Como último recurso, você pode desabilitar completamente a validação da chave do host para dados www, em /var/www/.ssh/configou com opções de linha de comando -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null. Esteja ciente das sérias implicações de segurança que isso implica.

E, reforçando o que você já suspeitava: em hipótese alguma conceda ao usuário www-data (ou qualquer outro) acesso ao seu ~/.ssh. Lembre-se do seuprivadoas chaves também estão lá!

Responder2

Sim, existe de fato um arquivo hosts conhecido em todo o sistema, que por padrão é /etc/ssh/ssh_known_hosts. Você pode executar man ssh_confige pesquisar GlobalKnownHostsFilepara ver o padrão em seu sistema. Você também pode alterar o valor desta opção normalmente (com -o), se desejar.

informação relacionada