Eu quero usar um comando sobre ssh:
ssh myuser@myhost mycommand
mas fazendo isso eu sempre recebo:
sh: mycommand: command not found
usando o seguinte obviamente funciona:
ssh myuser@myhost /usr/local/bin/mycommand
e eu entendo o porquê: é porque o comando é de alguma forma executado em um shell sem login.
Usar o comando completo ou qualquer outro parâmetro no meu comando ssh não é uma opção no meu cenário. Meu comando é executado por um script que não posso tocar e funcionou em todos os hosts, exceto este.
O host que está me dando o problema é um Synology NAS e a configuração /etc/passwd para esse myuser é:
myuser:x:1048:100::/var/services/homes/myuser:/bin/sh
Novamente:
Eu posso:
- ssh como myuser em myhost
- execute como myuser usando o caminho absoluto fornecido pelo qual mycommand
- execute mycommand (não absoluto) quando já estiver em myhost (via ssh)
Não posso deixar de querer:
- execute: ssh myuser@myhost mycommand (não absoluto, sem parâmetros adicionais)