Como baixar um arquivo na linha de comando? via ssh?


21

Quero baixar arquivos de um servidor remoto para minha unidade local e fazê-lo na linha de comando. Eu também quero ser capaz de fazer isso através do SSH. Como posso fazer isso?

Nota: o servidor remoto é Ubuntu, o local é Mac OS X

Respostas:


29

Use- scpcommand, ele roda sobre o SSH. Exemplo:

scp username@remote.host:/path/to/file localfile

Também funciona de outra maneira

scp localfile username@host:/path/remotefile

Nome de usuário, caminho e nome do arquivo podem ser omitidos (mas não o :!).

Como Iain disse, o SFTP também funciona, mas tenho tendência a favorecer scpseu cpuso.


Menos comum, tenho certeza, e me corrija se estiver errado, mas acho que o scp também funciona de remoto para remoto, se você realmente precisar: scp username@remote1:/path/to/file username@remote2:/path/to/file
JMD

você pode copiar diretórios?
Andrew

percebi isso ... -r copia recursivamente diretórios também
Andrew

Eu recomendo adicionar a -popção ao copiar arquivos ou pastas com scp. Também copia sobre os atributos do arquivo (carimbos de hora e sinalizadores). Acho que quero -pmais vezes do que não quero!
precisa saber é o seguinte

Você também pode rotear de remoto para remoto através do host local usando o -3sinalizador: scp -3 jeff@firsthost.com:/files/file1.zip brad@secondhost.com:/archivesIsso é útil se você precisar usar uma chave privada para acessar os dois servidores encontrados apenas no host local: scp -3i /local/path/to/.ssh/private_key dan@host1:/path/to/file.txt miri@host2:/path/to/upload/dir/A barra de progresso está desativada para -3
Dan Sandland

3

Você também pode usar rsyncpara isso. Pode funcionar com SSH.


rsync -avvPé o meu favorito para arquivos e / ou pastas, mas há uma desvantagem: ele precisa ser instalado na máquina remota.
precisa saber é o seguinte

Se você está tendo problemas para se conectar, pode ser necessário -e sshinformar o rsync para conectar-se através do ssh.
Joeytwiddle 8/08/14

3

Eu uso SFTP para isso. É linha de comando e usa a mesma segurança que SSH.


1

Se você não pode usar o scpSFTP, pode usar taro SSH:

tar cf - . | ssh otherhost "cd /mydir; tar xvf -"

Este também é bom se você tiver arquivos esparsos que, caso contrário, "explodirão".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.