Transferir arquivo via SSH do servidor de volta para o cliente [duplicado]

1

Estou logado no servidor remoto via ssh (linux) ou via putty (windows). Eu quero copiar o arquivo de volta para a minha máquina de origem do prompt bash remoto (por conveniência). Eu sei que posso iniciar o FileZilla ou o WinSCP na minha máquina e copiar arquivos, mas gostaria de saber como fazer isso a partir do prompt bash remoto.

Eu sei que posso copiar arquivos via pscp usando outro link ssh:

pscp server.file localuser@local:/local_path

Mas isso é impossível de usar se o cliente não executar um servidor openssh.

Eu vejo que meu servidor tem algumas variáveis como SSH_CLIENT, SSH_CONNECTION, etc. É possível usar essas informações para criar um comando como esse?

copy_from_server server.file local.file

Em que server.file é o arquivo localizado no servidor (local para bash prompt em que copy_from_server é executado) e local.file é o destino na máquina cliente em que o arquivo deve ser copiado.

Eu gostaria de uma solução que funcione para windows e linux, mas também estou aberta a soluções que funcionam somente no linux ou somente no windows.

EDITAR: Perguntas semelhantes:

por Jiri 30.09.2014 / 09:37

2 respostas

3

Enquanto na sua sessão ssh (não PuTTY ), pressione Digite ~ C para inserir uma linha de comando no seu local máquina.

No shell, você pode executar um comando prefixando-o com ! :

$ ssh> !scp <user@server:file> <local path>

Quando o arquivo for copiado, o prompt de comando será encerrado e você retornará para a sessão ssh sem a necessidade de inserir novamente suas credenciais.

Você precisará de PermitLocalCommand=yes em /etc/ssh_config (cliente) para que isso funcione.

    
por 30.09.2014 / 10:23
0

Você pode usar o rsync para isso. Procure por exemplos do comando rsync na internet. Aqui está um exemplo:

rsync -av -e ssh /var / www / your-site.com/ VPS_IP: /var/www/seu-site.com /

Encontrei isso lendo sobre uma migração do Wordpress em: link

    
por 01.10.2014 / 21:52