ssh a execução remota sempre sai 127

2

pergunta rápida:

Eu tenho um programa que está gerando um processo que executa um comando remoto básico sobre SSH, como:

ssh aiden@host /bin/ps

Executar isto manualmente a partir do meu shell é bem sucedido (como você esperaria), mas o programa pai executando a tarefa sempre sai 127 ... mesmo com caminhos absolutos.

Não é a extremidade local que retorna 127 (ele pode encontrar o binário ssh), mas é sempre a extremidade remota, mesmo quando comandos equivalentes do shell, com caminhos absolutos também, são executados bem.

Alguma idéia de por que meu shell pode executar esse comando, mas meu programa não pode? Eu percebo que isso pode ser específico para o meu idioma (e, portanto, uma pergunta para o StackOverflow), mas meu programa passa seu ambiente para o SSH, então não consigo imaginar o que difere.

Alguma idéia?

    
por Aiden Bell 14.12.2012 / 19:09

1 resposta

2

Problema resolvido. A API que eu estava usando para gerar o processo estava adicionando citações incorretamente:

No shell (funciona bem)

]$ ssh aiden@host /bin/ps

Meu programa estava executando o equivalente a:

]$ ssh aiden@host "/bin/ps"

O que estava causando problemas porque o IIRC o shell lida com as cotações, e o shell está obviamente ausente do final da API.

    
por 14.12.2012 / 19:15