Quero redirecionar a saída de um comando local (usando arquivos locais) para um comando remoto.
Eu sei que fazer algo assim é possível:
[user@local ~]$ head -c 5 /dev/urandom | ssh [email protected] "cat"
... mas gostaria de saber se existe uma maneira de fazer isso via console SSH, assim como o scp
comando que refere tanto arquivos locais quanto remotos:
[user@remote ~]$ scp test.txt remote:/new.txt
Copiar o arquivo local para o servidor remoto é indesejável, gostaria apenas de redirecionar a saída.
**Ambas as máquinas rodam Linux (bash).
Responder1
Acho que a melhor maneira é redirecionar a saída para um arquivo e, em seguida, enviar esse arquivo para o host remoto e então você pode executar o comando cat lá.
$ head -c 5 /dev/urandom > random && scp ./random user@remoteip:/path/. && cat /path/random
Espero que isso satisfaça suas necessidades. Responda se não.
Responder2
Isso parece semelhante a esta pergunta:
Portanto, parece que o consenso é configurar uma sessão ssh invertida com a opção -R e executar o stdout através dela.