Quero baixar um arquivo de uma sessão SSH ativa. Em muitos casos, eu provavelmente poderia simplesmente usar SFTP, scp
, rsync
et al, mas há momentos em que tenho elevados permissões no servidor remoto de uma maneira que não pode usar esses métodos.
Se você está lutando para entender o que quero dizer, imagine que você queria baixar algo de /root/
ou /var/log/auth.log
. O login raiz está desativado (porque não somos idiotas). Como você consegue esse arquivo? Copiá-lo para um lugar menos protegido e depois movê-lo? Isso é desajeitado. Também existem cenários em que o caminho remoto é complexo ou temporário, ou nem é um caminho, porque desejo que a saída de um comando remoto seja armazenada localmente. Armazene remotamente e copie? Clunk!
Existem várias maneiras mais complicadas de obter versões dessas, mas em um mundo ideal, eu teria algo parecido com o acesso local de gravação do servidor remoto, usando a sessão SSH existente como um canal. Algo como (isso é apenas a impressão de um artista):
$oli@remote: cp /root/cheesecake /local/
E isso apenas aparece no meu local cwd
. E o acesso bidirecional não seria uma coisa ruim.
Faz oito longos anos desde que fiz essa pergunta e vimos uma verdadeira variedade de clunk, mas continua sendo um problema com o qual ainda luto ocasionalmente.
Refatorei a pergunta para algo muito mais idealista. Compreendo perfeitamente que atualmente não haja uma resposta perfeita. Todos os esforços passados e futuros em direção ao meu ideal são apreciados.
zssh
provavelmente é o mais próximo do fluxo de trabalho do tipo zmodem que você pode estar se lembrando.