Preciso ter minha chave ssh privada armazenada em meu servidor para obter repositórios clones do git durante o ssh no servidor?

Preciso ter minha chave ssh privada armazenada em meu servidor para obter repositórios clones do git durante o ssh no servidor?
  1. Gerei minha chave ssh em minha máquina local.

  2. Em seguida, usei o seguinte comando para copiar minha chave pública em meu servidor: ssh-copy-id username@remote_host. Tudo correu bem.

  3. Confirmei que a minha máquina local ~/.ssh/id_rsa.pubfoi copiada para o meu servidor em my_user's_home_directory/.ssh/authorized_keys. Não há outros arquivos lá.

  4. Também copiei a mesma chave pública para o Gitlab.

  5. Quando tento fazer git cloneum repositório no servidor, me dizem:

[email protected]: Permission denied (publickey,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
  1. Posso fazer ssh com bastante facilidade no meu servidor. Mas como meu servidor não contém minha chave privada, faz sentido para mim que eu não seria capaz de clonar ssh git. Qual é o procedimento normal aqui? Posso fazer um download normal de https. Essa é a rota padrão?

Responder1

Você pode usar ssh -Apara encaminhar seu agente ssh para o host remoto, que usará suas chaves locais do servidor remoto sem enviar as próprias chaves.

Embora pareça uma opção segura, faça isso apenasse você confia totalmente no servidor remoto(ou seja, não habilite isso por padrão). O agente ssh encaminhado pode ser usado por qualquer pessoa com o mesmo usuário remoto que o seu ou com privilégios de root.

Se você decidir seguir esse caminho, recomendo adicionar chaves ao agente ssh-add -cpara que você seja solicitado a confirmar quando uma chave for usada.

Responder2

git é descentralizado. Pode buscar do Gitlab para o seu PC e, em seguida, enviar do seu PC para o servidor. O cliente ssh é o seu PC para ambos, portanto, sua chave privada ou agente encaminhado não toca no servidor.

Ou pode ter várias chaves ssh. Um pessoal para o seu PC e outro diferente para o servidor. Mais chaves para gerenciar, mas é possível monitorar e controlar separadamente, estilo conta de serviço.

Ou não use o git como ferramenta de implantação. Gere um pacote ou algum outro arquivo e instale-o como faria com outro software.

informação relacionada