Como baixar um arquivo do servidor usando SSH? [fechadas]


749

Preciso baixar um arquivo do servidor para minha área de trabalho. (UBUNTU 10.04) Não tenho acesso à web no servidor, apenas ssh.

Se ajudar, meu sistema operacional é o Mac OS X e o iTerm 2 como um terminal.



51
por que isso está fora do tópico
jsmedmar

4
porque não é uma questão de programação
Black

26
@EdwardBlack poderia ter sido migrados para unix.stackexchange vez
gldraphael

3
Isso funcionou para mimsudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

Respostas:


1166

No seu terminal, digite:

scp your_username@remotehost.edu:foobar.txt /local/dir

substituindo o nome de usuário, host, nome de arquivo remoto e diretório local, conforme apropriado.

Se você deseja acessar o EC2 (ou outro serviço que requer autenticação com uma chave privada), use a -iopção:

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

De: http://www.hypexr.org/linux_scp_help.php


3
Não estou familiarizado com o Amazon EC2, mas se você tiver acesso SSH ao seu servidor, ele deverá funcionar.
21412 Josh1billion

3
Eu acho que há uma falta /entre your_username@remotehost.edu:e foobar.txtno exemplo acima.
21412 Eugene S

13
@NiLL scp -i xxx.pem your_username@remotehost.edu: foobar.txt / some / directory / local
Helin Wang

3
@Alex adicione a opção -r.
SgtPooki

10
Informações úteis - Não sabia que você executava isso na máquina local e não no local em que deseja fazer o download. então, como Horak estava perguntando, ~ / o despejaria em seu diretório de usuários como / Users / admin / - Eu estava logado no ssh remotamente e me perguntei por que não estava funcionando.
Kai Qing

322

Você pode fazer isso com o scpcomando scpusa o protocolo SSH para copiar arquivos no sistema, estendendo a sintaxe de cp.

Copie algo de outro sistema para este sistema:

scp username@hostname:/path/to/remote/file /path/to/local/file

Copie algo deste sistema para outro sistema:

scp /path/to/local/file username@hostname:/path/to/remote/file          

Copie algo de um sistema para outro:

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

5
Eu gosto de como se alguém quisesse alcançar a pergunta do OP e não lesse completamente sua resposta, poderia acidentalmente, e sem pensar, basta executar seu primeiro comando e possivelmente substituir o arquivo remoto que está tentando baixar com o arquivo local que pode ter tocado anteriormente. oops.
Mr Purple

Por que existem acessos? Alguém pode fazer "rm -rf /" sem pensar, mas isso não reduz a utilidade do comando rm?
raj_gt1 21/09

1
Você acha que iniciar uma resposta para "como devo atualizar o linux?" com o comando "rm -rf /" também seria uma boa ideia?
Mr Purple

2
@ MrPurple - Obrigado pelo aviso, eu quase fiz exatamente isso. Eu editei a pergunta para mostrar o comando mais relevantes primeiro
Sphinxxx

96

O scp é certamente o caminho a percorrer, mas, para completar, você também pode:

$ ssh host 'cat /path/on/remote' > /path/on/local

ou

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

Observe que este é UUOC, mas < /path/on/local ssh host 'cat > /path'pode causar confusão desnecessária.

E para proxy entre dois hosts:

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'


5
Alguém já fez um teste de velocidade nos diferentes métodos? Eu ficaria curioso para saber qual é o mais rápido. Caso de uso: tenho um arquivo enorme para fazer o download.
starbeamrainbowlabs

Isso realmente funciona com .ssh / config, enquanto scp não parecem seguir a configuração ssh

13

Se o servidor SSH suportar o subsistema SFTP (isso faz parte do SSH e não está relacionado ao FTP), use sftp. Caso contrário, tente scp.

O CyberDuck suporta todos eles.


2
Faça o download em seu site, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

Parece que eles mudaram o software para ser gratuito, mas opcionalmente você pode doar qualquer quantia e isso eliminará um "prompt de doação" de dentro do programa.
Mike

12
Isso não responde à pergunta.
Edwinj 15/09/2015

1
Ele faz, é fácil o suficiente para download usando SFTP do Cyberduck
Miguel Stevens

O FileZilla funciona muito bem para mim e é gratuito e de código aberto (e feito pelos mesmos caras que fazem o Firefox). assim como Cygwin.
hanshenrik
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.