Nada de errado com a parte do sudo. Para pegar um agente ssh existente, veja estas respostas: Compartilhando o mesmo 'ssh-agent' entre várias sessões de login
Qual é a maneira mais fácil de ter um script de sistema (executando como root) executar comandos remotos em ssh?
Eu escrevi alguns scripts que executam comandos remotamente via ssh, e eles funcionam muito bem quando eu os executo como eu, já que configurei o ssh-agent e as chaves para login sem senha. Eu gostaria de chamá-los quando meu laptop se encaixar e desencaixar. Tive êxito na execução de scripts arbitrários ao encaixar / desencaixar, mas como os scripts de eventos da ACPI são executados como raiz, a tentativa de executar meu script ssh falha durante a autenticação.
Eu tentei usar o sudo com os sinalizadores -u e -i para simular a execução do script como meu usuário, por exemplo:
sudo -u redmoskito -i /home/redmoskito/bin/remote_command
que encontra minha chave privada com sucesso e tenta usá-la, mas as credenciais do agente ssh ainda estão faltando, por isso ainda precisa da minha frase secreta.
Nada de errado com a parte do sudo. Para pegar um agente ssh existente, veja estas respostas: Compartilhando o mesmo 'ssh-agent' entre várias sessões de login
Você tentou usar o su em vez do sudo?
su - redmoskito -c "/ home / redmoskito / bin / remote_command"
OR
edite seu script para usar: ssh -l redmoskito (host) (comando) (assumindo que redmoskito é o mesmo nome de usuário na máquina remota) Em seguida, no diretório inicial do redmoskito da máquina remota $ HOME / .ssh / authorized_keys, insira o conteúdo da raiz da máquina local $ HOME.ssh / id_rsa.pub depois de criar uma senha em branco como root na máquina local com ssh-keygen -t rsa Certifique-se de que $ HOME ou $ HOME / .ssh ou qualquer um dos arquivos em $ HOME / .ssh não sejam de grupo ou outros graváveis se o seu arquivo sshd_config tiver StrictModes = yes
Se nada disso funcionar, me avise. Vou duplicar o problema nas minhas máquinas.