Como copiar texto de máquinas remotas para área de transferência de máquinas locais através de SSH?

6

Eu trabalho em uma máquina remota através ssh. Eu tenho um arquivo de texto muito grande (aprox. 500 linhas) que eu normalmente preciso modificar, depois copio o conteúdo desse arquivo e o colo no meu navegador local. A maneira que eu costumo fazer isso é cat filename e depois selecione / copie a saída ssh. Isso leva muito tempo.

Eu queria saber se existe um utilitário que irá colocar o conteúdo do arquivo remoto na minha área de transferência local.

recluze
fonte
1
Eu acho que você entendeu errado o título.
Ignacio Vazquez-Abrams

Respostas:

3

Experimentar ssh tubos. Aqui e exemplo que funciona com o OS X (Mountain Lion) (para Linux, ajuste o programa cli clipboard de acordo):

Do controle remoto ssh máquina, corra:

$ cat /dir/file.txt | ssh user@localMachine pbcopy

Você pode usar essa funcionalidade em editores remotos do vim usando certificados ssh para autorização e adicionando o seguinte ao vimrc na máquina remota:

vmap <C-c> y:call system("ssh user@localMachine pbcopy", getreg("\""))

Control-C no editor remoto deve agora copiar para a área de transferência local.

bizxaro
fonte
2

Pessoalmente, eu abriria o arquivo remoto localmente, por exemplo, Modo SCP do Vim :

vim scp://uname@host/myfile

em seguida, edite e copie-o do Vim (por exemplo, gg"*yG ).

Alternativamente, você pode usar sshfs e o editor local de sua escolha.

Daniel Andersson
fonte
1

Se você habilitar o encaminhamento do X, xclip posso fazer isso.

xclip -i -selection clipboard somefile
Ignacio Vazquez-Abrams
fonte