Як завантажити файл з сервера за допомогою SSH? [зачинено]


749

Мені потрібно завантажити файл з сервера на робочий стіл. (UBUNTU 10.04) У мене немає доступу до веб-сервера, просто ssh.

Якщо це допомагає, моя ОС - це Mac OS X і iTerm 2 як термінал.


Спробуйте цей sftp: warscp.net/eng/download.php
Nishchit Dhanani

51
чому це поза темою?
jsmedmar

4
тому що це не питання програмування
Чорний

26
@EdwardBlack міг бути переміщений на unix.stackexchange замість цього
gldraphael

3
Це працювало для менеsudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

Відповіді:


1166

У терміналі введіть:

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

заміни імені користувача, хоста, віддаленого імені файлу та локального каталогу, якщо це доречно.

Якщо ви хочете отримати доступ до EC2 (або іншої послуги, для якої потрібна автентифікація за допомогою приватного ключа), скористайтеся -iопцією:

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

Від: http://www.hypexr.org/linux_scp_help.php


3
Я не знайомий з Amazon EC2, але якщо у вас SSH доступ до вашого сервера, він повинен працювати.
Josh1billion

3
Я думаю, що /між your_username@remotehost.edu:і foobar.txtу наведеному прикладі є відсутність .
Євген С

13
@NiLL scp -i xxx.pem your_username@remotehost.edu: foobar.txt / some / local / directory
Хелін Ван

3
@Alex додайте опцію -r.
SgtPooki

10
Корисна інформація - я не розумів, що ви запускаєте це зі своєї локальної машини, а не з місця, з якого ви хочете завантажити. так що, як запитав Горак, ~ / скине його у свій каталог користувачів, як / Users / admin / - Я віддалено ввійшов у ssh і запитав, чому це не працює.
Кай Цін

322

Це можна зробити за допомогою scpкоманди. scpвикористовує протокол SSH для копіювання файлів по всій системі шляхом розширення синтаксису cp.

Скопіюйте щось із іншої системи в цю систему:

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

Скопіюйте щось із цієї системи в іншу:

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

Скопіюйте щось із якоїсь системи в іншу:

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

5
Мені подобається, як, якби хтось хотів досягти питання щодо ОП, і не прочитав повністю свою відповідь, вони можуть випадково і не замислюватися, просто запустіть свою першу команду і, можливо, перезавантажте віддалений файл, який вони намагаються завантажити з локальним файлом, який вони, можливо, торкнулися раніше. ой.
Містер Перпл

Чому є доступ до? Хтось може зробити "rm -rf /", не замислюючись, але це не знижує корисність команди rm?
raj_gt1

1
Ви вважаєте, що починаючи відповідь на "як мені оновити Linux?" з командою "rm -rf /" також буде хорошою ідеєю?
Містер Перпл

2
@MrPurple - Дякую за попередження, я майже зробив саме це. Я відредагував питання, щоб спочатку показати найвідповіднішу команду
Sphinxxx

96

scp - це звичайно шлях, але для повноти ви також можете зробити:

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

або

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

Зауважте, що це UUOC, але це < /path/on/local ssh host 'cat > /path'може спричинити зайву плутанину.

І проксі між двома хостами:

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


5
Хтось робив тест на швидкість за різними методами? Мені було б цікаво дізнатись, хто з них найшвидший. Корпус: у мене є величезний файл для завантаження.
starbeamrainbowlabs

Це насправді працює з .ssh / config, тоді як scp, схоже, не відповідає конфігурації ssh

13

Якщо SSH-сервер підтримує SFTP підсистему (це частина SSH і не пов'язана з FTP), використовуйте sftp. Якщо це не так, спробуйте scp.

CyberDuck підтримує їх усіх.


2
Завантажте їх веб-сайт, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

Схоже, вони з тих пір змінили програмне забезпечення на безкоштовне, але ви необов'язково можете пожертвувати будь-яку суму, і це позбудеться "підказок на пожертвування" з програми.
Майк

12
Це не дає відповіді на запитання.
edwinj

1
Завантажити його досить просто, використовуючи SFTP Cyberduck
Мігель Стівенс,

FileZilla для мене чудово працює і є безкоштовним та відкритим кодом (і зроблений тими ж хлопцями, що робить Firefox). як це робить Цигвін.
hanshenrik
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.