shell - via - o que faz o comando scp




Como copiar uma pasta de remoto para local usando scp? (8)

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 o 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 ajuda sobre o comando sftp basta digitar help ou ? .

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

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

Como conseguir isso?


Caso você encontre "Muitas falhas de autenticação" , especifique a chave SSH que você adicionou ao seu servidor ssh:

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

E se você tem um inferno de arquivos para baixar do local remoto e se você não se importa muito com segurança, tente mudar 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/

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

Melhor primeiro compactar catálogo no servidor remoto:

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

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

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

No final, extraia os arquivos:

tar -xzvf backup.tar.gz

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 host como ns1.mysite.com .


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

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

Então, por exemplo, se você tiver este ~ / .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 sintaxe do scp assim:

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

Além disso, você poderá usar a conclusão remota do caminho:

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

Atualizar:

Para habilitar a conclusão bash remota, você precisa ter o bash-shell nos hosts <source> e <target> e concluir corretamente o bash-completion. Para mais informações, consulte as perguntas relacionadas:

Como ativar o preenchimento automático de caminhos remotos ao usar o scp?
Conclusão da guia do nome do arquivo SCP






scp