Как скачать файл с сервера, используя SSH?

696

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

Если это помогает, моя ОС - Mac OS X и iTerm 2 в качестве терминала.

  • 0
    Попробуйте этот sftp : winscp.net/rus/download.php
  • 51
    почему это не по теме?
Показать ещё 4 комментария
Теги:
ssh

4 ответа

1028
Лучший ответ

В терминале введите:

scp [email protected]:foobar.txt /local/dir

заменив имя пользователя, хост, удаленное имя файла и локальный каталог соответствующим образом.

Если вы хотите получить доступ к EC2 (или другой службе, требующей аутентификации с помощью закрытого ключа), используйте параметр -i:

scp -i key_file.pem [email protected]:/remote/dir/foobar.txt /local/dir

От: http://www.hypexr.org/linux_scp_help.php

  • 0
    Можно ли использовать с Amazon EC2?
  • 3
    Я не знаком с Amazon EC2, но если у вас есть SSH-доступ к вашему серверу, он должен работать.
Показать ещё 14 комментариев
287

Вы можете сделать это с помощью команды scp. scp использует протокол SSH для копирования файлов через систему, расширяя синтаксис cp.

Скопировать что-нибудь из этой системы в другую систему:

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

Скопировать что-нибудь из некоторой системы в другую систему:

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

Скопировать что-то из другой системы в эту систему:

scp username@hostname:/path/to/remote/file /path/to/local/file
  • 5
    Мне нравится, как если бы кто-то хотел задать вопрос OPs и не полностью прочитал ваш ответ, они могли бы случайно и без раздумий просто выполнить вашу первую команду и, возможно, перезаписать удаленный файл, который они пытаются загрузить, локальным файлом, к которому они могли прикоснуться ранее. упс.
  • 0
    Почему есть доступ для? Кто-то может сделать «rm -rf /», не задумываясь, но это не уменьшает полезность команды rm?
Показать ещё 2 комментария
86

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'
  • 2
    winscp.net/eng/download.php
  • 5
    Кто-нибудь делал тест скорости на разных методах? Мне было бы интересно узнать, какой из них самый быстрый. Вариант использования: у меня есть огромный файл для скачивания.
Показать ещё 1 комментарий
13

Если SSH-сервер поддерживает подсистему SFTP (это часть SSH и не связана с FTP), используйте sftp. Если это не так, попробуйте scp.

CyberDuck поддерживают все из них.

  • 2
    Загрузите с их веб-сайта, cyberduck.ch/Cyberduck-4.2.1.zip
  • 0
    Похоже, что с тех пор они изменили программное обеспечение на бесплатное, но вы можете по желанию пожертвовать любую сумму, и это избавит от «приглашения на пожертвование» изнутри программы.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню