Bagaimana cara mengunduh file dari server menggunakan SSH? [Tutup]


749

Saya perlu mengunduh file dari server ke desktop saya. (UBUNTU 10,04) Saya tidak memiliki akses web ke server, hanya ssh.

Jika ini membantu, OS saya adalah Mac OS X dan iTerm 2 sebagai terminal.



51
mengapa ini di luar topik?
jsmedmar

4
karena itu bukan pertanyaan pemrograman
Hitam

26
@EdwardBlack dapat dimigrasikan ke unix.stackexchange sebagai gantinya
gldraphael

3
Ini bekerja untuk sayasudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

Jawaban:


1166

Di terminal Anda, ketik:

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

mengganti nama pengguna, host, nama file jarak jauh, dan direktori lokal yang sesuai.

Jika Anda ingin mengakses EC2 (atau layanan lain yang memerlukan otentikasi dengan kunci pribadi), gunakan -iopsi:

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

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


3
Saya tidak terbiasa dengan Amazon EC2, tetapi jika Anda memiliki akses SSH ke server Anda, itu seharusnya berfungsi.
Josh1billion

3
Saya pikir ada yang hilang /antara your_username@remotehost.edu:dan foobar.txtdalam contoh di atas.
Eugene S

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

3
@Alex menambahkan opsi -r.
SgtPooki

10
Info berguna - Saya tidak menyadari Anda menjalankan ini dari mesin lokal Anda, dan bukan dari tempat Anda ingin mengunduh. jadi seperti yang ditanyakan Horak, ~ / akan membuangnya di direktori pengguna Anda seperti / Users / admin / - Saya telah login ssh dari jarak jauh dan bertanya-tanya mengapa itu tidak berhasil.
Kai Qing

322

Anda dapat melakukan ini dengan scpperintah. scpmenggunakan protokol SSH untuk menyalin file di seluruh sistem dengan memperluas sintaks cp.

Salin sesuatu dari sistem lain ke sistem ini:

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

Salin sesuatu dari sistem ini ke beberapa sistem lain:

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

Salin sesuatu dari beberapa sistem ke sistem lain:

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

5
Saya suka bagaimana jika seseorang ingin mencapai pertanyaan OP dan tidak sepenuhnya membaca jawaban Anda, mereka mungkin tanpa sengaja dan tanpa berpikir jalankan perintah pertama Anda dan mungkin menimpa file jarak jauh yang mereka coba unduh dengan file lokal yang mungkin mereka sentuh sebelumnya. oops.
Tuan Ungu

Mengapa ada akses untuk? Seseorang dapat melakukan "rm -rf /" tanpa berpikir tetapi itu tidak mengurangi utilitas perintah rm?
raj_gt1

1
Apakah Anda berpikir bahwa memulai jawaban untuk "bagaimana saya harus meningkatkan linux?" dengan perintah "rm -rf /" juga merupakan ide bagus?
Tuan Ungu

2
@ MrPurple - Terima kasih atas peringatannya, saya hampir melakukan hal itu. Saya telah mengedit pertanyaan untuk menunjukkan perintah yang paling relevan terlebih dahulu
Sphinxxx

96

scp tentu saja cara untuk pergi, tetapi untuk kelengkapan Anda juga dapat melakukan:

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

atau

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

Catatan, ini adalah UUOC, tetapi < /path/on/local ssh host 'cat > /path'dapat menyebabkan kebingungan yang tidak perlu.

Dan untuk proxy antara dua host:

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


5
Adakah yang melakukan tes kecepatan pada metode yang berbeda? Saya ingin tahu yang mana yang tercepat. Gunakan case: Saya punya file besar untuk diunduh.
starbeamrainbowlabs

Ini sebenarnya bekerja dengan .ssh / config, sedangkan scp tampaknya tidak mengikuti konfigurasi ssh

13

Jika server SSH mendukung subsistem SFTP (ini adalah bagian dari SSH, dan tidak terkait dengan FTP), gunakan sftp. Jika tidak, coba scp.

CyberDuck mendukung semuanya.


2
Unduh dari situs web mereka, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

Sepertinya mereka telah mengubah perangkat lunak menjadi gratis, tetapi Anda dapat secara opsional menyumbangkan jumlah berapa pun dan itu akan menghilangkan "donasi prompt" dari dalam program.
Mike

12
Ini tidak menjawab pertanyaan.
edwinj

1
Ya, cukup mudah untuk mengunduh menggunakan Cyberduck's SFTP
Miguel Stevens

FileZilla berfungsi bagus untuk saya, dan gratis dan open source (dan dibuat oleh orang yang sama yang membuat Firefox). seperti halnya Cygwin.
hanshenrik
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.