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

Andrew
fonte

Respostas:

29

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

scp [email protected]:/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.

Ahe
fonte
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 [email protected]:/files/file1.zip [email protected]:/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.

osgx
fonte
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.

Iain
fonte
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".

Jimmy Hedman
fonte