Como copiar uma pasta do host remoto para o local usando scp
?
Eu uso ssh
para entrar no meu servidor.
Em seguida, gostaria de copiar a pasta remota foo
para local /home/user/Desktop
.
Como faço para conseguir isso?
shell
command-line
copy
scp
Slasengger
fonte
fonte
Respostas:
Ao não incluir o '/' à direita no final do foo, você moverá o próprio diretório (incluindo o conteúdo), em vez de apenas o conteúdo do diretório.
De
man scp
(consulte o manual online )fonte
-C
bandeira adiciona compressão e da-c
bandeira permite que você passe em outros tipos de cifra para um melhor desempenho, comoscp -c blowfish a@b:something .
visto na resposta de dimuthuDesktop/foo
ou terá oDesktop/allcontentsofFooGohere
scp parece estranho às vezes para mim, isso faz uma coisa e depois outrascp -r [email protected]:/path/to/foo /home/user/Desktop/
você deve terminarDesktop/foo
. Comscp -r [email protected]:/path/to/foo/. /home/user/Desktop/
você você terminará com o conteúdo defoo
inDesktop
e todos os subdiretóriosfoo
espalhados em #Desktop
Para usar todo o poder do scp, você precisa seguir os próximos passos:
Então, por exemplo, se você possui este ~ / .ssh / config :
você se salvará da entrada de senha e simplificará a sintaxe scp da seguinte maneira:
Além disso, você poderá usar o preenchimento de caminho remoto:
Atualizar:
Para habilitar bash-completion remoto você precisa ter bash-shell em ambos
<source>
e<target>
exércitos, e funcionando corretamente bash-completion. Para mais informações, consulte perguntas relacionadas:Como habilitar o preenchimento automático para caminhos remotos ao usar o scp?
Conclusão da guia Nome do arquivo SCP
fonte
Para copiar tudo de Local Local para Local Remoto (Upload)
Para copiar tudo de Local remoto para Local (Download)
Porta personalizada, em que
xxxx
é o número da porta personalizadaCopiar no diretório atual de Remoto para Local
Socorro:
-r
Copie recursivamente todos os diretórios e arquivos/
, Obter local completo porpwd
scp
substituirá todos os arquivos existenteshostname
será o nome do host ou o endereço IP-P portnumber
Nota: Às vezes, a porta personalizada não funciona porque a porta não é permitida no firewall, portanto, verifique se a porta personalizada é permitida no firewall para conexão de entrada e saída
fonte
pwd
obter a localização e usar mesmoO que eu sempre uso é:
. (ponto) : significa
current folder
. então copie do servidor e cole aqui apenas.IP : pode ser como um endereço IP
125.55.41.311
ou como um hostns1.mysite.com
.fonte
.
se refere ao diretório atual!Melhor compactar primeiro o catálogo no servidor remoto:
Em segundo lugar, faça o download do controle remoto:
No final, extraia os arquivos:
fonte
-C
flag, comoscp -C a@b:bigfile .
.E se você tem um monte de arquivos para baixar do local remoto e se não se importa muito com segurança, tente alterar a criptografia padrão scp (Triple-DES) para algo como 'blowfish'.
Isso reduzirá drasticamente o tempo de cópia de arquivos.
fonte
arcfour
em vez deblowfish
, mas tem falhas de segurança.Cenário típico,
explicado com uma amostra,
scp -r -P 27000 [email protected]:/tmp/hotel_dump .
Onde,
fonte
Vá para Arquivos na barra de ferramentas da unidade
Pressione Ctrl + le escreva [email protected]
O 192.168.1.103 é o host que você deseja conectar.
O exemplo aqui
fonte
A questão era como copiar uma pasta do remoto para o local com
scp
comando.$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir
Mas aqui está a melhor maneira de fazer isso
sftp
: o SSH File Transfer Protocol (também Secure File Transfer Protocol ou SFTP) é um protocolo de rede que fornece acesso a arquivos, transferência e gerenciamento de arquivos em qualquer fluxo de dados confiável (wikipedia).$ sftp user_remote@remote_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
sftp
comando, digitehelp
ou?
.fonte
Caso você encontre "Demasiadas falhas de autenticação" , especifique a chave SSH exata que você adicionou ao seu servidor svers ssh:
fonte
Não sei por que, mas tive que usar a pasta local antes da diretiva do servidor de origem. para fazer funcionar
fonte
root@