Acho que você está errado ao assumir que precisa executar ssh-add
no servidor .
Se sua máquina cliente (ou seja, a máquina que possui a chave privada correspondente à chave pública no arquivo authorized-keys
no server
) iniciar a conexão ssh, ela deverá ativar o encaminhamento do agente de autenticação. Você pode fazer isso na linha de comando, especificando -A
como argumento para ssh
ou, em geral, editando /etc/ssh/ssh_config
ou ~/.ssh/config
(para o usuário que está fazendo a conexão com server
), especificando:
ForwardAgent yes
Por motivos de segurança, isso normalmente é definido como no
.
A execução de ssh-add
em server
não é necessária. A razão pela qual sai com 1 é que ele não encontra chaves privadas para adicionar (e encaminhar). Se você executar ssh-add
na máquina do cliente (como o usuário que faz a conexão), você verá linhas parecidas com:
Identity added: /home/your_user/.ssh/id_rsa
Esse tipo de arquivo não está disponível em ~/deploy/.ssh
na máquina server
E você também precisa garantir que seu servidor git tenha sua chave pública instalada.