Você não precisa executar ssh-add ou ssh-agent no seu servidor.
Você deve executar ssh-agent no seu cliente ( varga ). Isso criará um soquete para o programa ssh verificar uma chave desbloqueada. ssh-agent imprimirá algumas variáveis de ambiente que você terá que definir - normalmente você faz isso com eval $(ssh-agent) , que inicia o agente e exporta todas as variáveis necessárias.
Como posso ver na sua pergunta, ssh-add pede uma senha e adiciona a chave ao agente, o que significa que o agente está em execução e todas essas variáveis são exportadas (pelo menos no shell que você está usando para executar %código%). Mas agora para fazer ssh-add ver o agente, você tem que se certificar de que essas variáveis também são exportadas na sessão em que você executa ssh .
O fato de que ssh não está pedindo a senha quando você a executa no servidor significa que o agente está sendo executado no servidor (você não precisa dele) e simplesmente não há chaves para adicionar, por isso sai silenciosamente.
Por que ssh-add no cliente está solicitando a senha? Provavelmente porque você adicionou uma chave errada ao agente. Tem certeza de que você pode efetuar login no servidor usando o arquivo-chave ? Você tem certeza de que quando você tenta fazer o login ele está pedindo a senha do arquivo-chave , e não uma senha de usuário normal? Certifique-se de que a autenticação por chave eletrônica esteja funcionando primeiro.