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.

NiLL
fonte
Experimente este sftp: winscp.net/eng/download.php
Nishchit Dhanani
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 [email protected]:Downloads/filename.sql ~/Desktop
kaxi1993

Respostas:

1166

No seu terminal, digite:

scp [email protected]: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 [email protected]:/remote/dir/foobar.txt /local/dir

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

Josh1billion
fonte
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 [email protected]:e foobar.txtno exemplo acima.
21412 Eugene S
13
@NiLL scp -i xxx.pem [email protected]: 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   
raj_gt1
fonte
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'
William Pursell
fonte
2
winscp.net/eng/download.php
Nishchit Dhanani
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.

J-16 SDiZ
fonte
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