desenv-web-rp.com

Como uma pasta de remoto para local usando scp?

Como copiar uma pasta do remoto para o host local usando scp?

Eu uso ssh para entrar no meu servidor.
Então, eu gostaria de copiar a pasta remota foo para /home/user/Desktop local.

Como conseguir isso?

2362
Slasengger
scp -r [email protected]:/path/to/foo /home/user/Desktop/

De man scp (Ver manual online )

-r Copia recursivamente diretórios inteiros

4338
Gryphius

Para usar o poder total de scp você precisa passar pelas próximas etapas:

  1. Autorização de chave pública
  2. Criar aliases ssh

Então, por exemplo, se você tiver isto ~/.ssh/config :

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

você se salvará da entrada de senha e simplificará a scp syntax desta forma:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Mais ainda, você poderá usar a conclusão remota do caminho:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Atualização:

Para habilitar o bash-completion remoto, você precisa ter o bash-Shell nos hosts <source> e <target> e trabalhar corretamente na conclusão do bash. Para mais informações, consulte as perguntas relacionadas:

Como habilitar o preenchimento automático para caminhos remotos ao usar o scp?
Conclusão da tabulação do nome do arquivo SCP

276
Alexander Yancharuk

Para copiar todos de Local Local para Local remoto (Upload)

scp -r /path/from/destination [email protected]:/path/to/destination

Para copiar todos de Remote Location to Local Local (Download)

scp -r [email protected]:/path/from/destination /path/to/destination

Porta personalizada onde xxxx é porta personalizada number

 scp -r -P xxxx [email protected]:/path/from/destination /path/to/destination

Copiar no diretório atual de remoto para local

scp -r [email protected]:/path/from/file .

Socorro:

  1. -r Copia recursivamente todos os diretórios e arquivos
  2. Sempre use o local completo de /, obtenha localização completa por pwd
  3. scp substituirá todos os arquivos existentes
  4. hostname será o nome do host ou o endereço IP
  5. se a porta personalizada for necessária (além da porta 22) use -P portnumber
  6. . (ponto) - significa o diretório de trabalho atual, Então baixe/copie do servidor e cole aqui apenas.

Nota: Às vezes, a porta personalizada não funcionará devido à porta não ser permitida no firewall, portanto, certifique-se de que a porta personalizada seja permitida no firewall para conexão de entrada e saída

175
Shiv Singh

O que eu sempre uso é:

scp -r [email protected]:/path/to/server/source/folder/  .

. (ponto) : significa current folder. então copie do servidor e cole aqui apenas.

IP: pode ser um endereço IP como 125.55.41.311 ou pode ser um host como ns1.mysite.com.

46
Manish Shrivastava

Melhor primeiro compactar o catálogo no servidor remoto:

tar czfP backup.tar.gz /path/to/catalog

Em segundo lugar, faça o download do controle remoto:

scp [email protected]:/path/to/backup.tar.gz .

No final, extraia os arquivos:

tar -xzvf backup.tar.gz
28
justi

E se você tiver um inferno de arquivos para baixar do local remoto e se você não se importa muito com segurança, tente alterar a criptografia padrão do scp (Triple-DES) para algo como 'blowfish'.

Isso reduzirá drasticamente o tempo de cópia de arquivos.

scp -c blowfish -r [email protected]:/path/to/foo /home/user/Desktop/
21
dimuthu

Ir para a barra de ferramentas Arquivos em sua unidade

 enter image description here

Pressione Ctrl + l e escreva [email protected]

O 192.168.1.103 é o host que você deseja conectar.

O aqui um exemplo

 enter image description here

19
Ronald

Cenário típico,

scp -r -P port [email protected]:/path-to-folder  .

explicado com uma amostra,

scp -r -P 27000 [email protected]:/tmp/hotel_dump .

onde,

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
17
Arun G

No caso de você entrar em "Muitas falhas de autenticação" , especifique a chave SSH exata que você adicionou ao servidor ssh do servidor:

scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir
11
kaiser

A questão era como copiar uma pasta de remoto para local com o comando scp.

$ scp -r [email protected]:/path/remoteDir /path/localDir

Mas aqui está a melhor maneira de fazer isso com sftp - SSH File Transfer Protocol (também Secure File Transfer Protocol ou SFTP) é um protocolo de rede que fornece acesso a arquivos, transferência de arquivos e gerenciamento de arquivos em qualquer fluxo de dados confiável. (Wikipedia) .

$ sftp [email protected]_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

Para obter ajuda sobre o comando sftp, basta digitar help ou ?.

10
Fulvio

Eu não sei porque, mas eu tive que usar a pasta local antes da diretiva do servidor de origem. para que funcione

scp -r . [email protected]:/usr/share/nginx/www/example.org/
5
Salem