2010-03-25 3 views
12

В протоколе ssh есть ли механизм передачи файлов?
Im работает над существующей базой кода, которая уже имеет код объекта ssh. Теперь мне нужно передать файлы через ssh-соединение. Если протокол ssh уже поддерживает его, мне не нужно интегрировать в него файлы scp.Перенос файла по ssh

Спасибо.

Редактировать:
Im, использующий код C, ssh на основе openssh.
Мне нужно передать файл программируемо, не используя внешнюю программу/команду из-за некоторых ограничений. Программа должна передавать любой файл размера на удаленном хост-блоке и обрабатывать кусок на лету. Затем данные куска отбрасываются.

+0

Возможный дубликат [Передача файлов через SSH] (http://stackoverflow.com/questions/343711/transferring-files-over-ssh) – Ajedi32

ответ

5

sftp и scp представляют собой существующие «безопасные» способы передачи файлов, но ваши ответы будут зависеть от того, какой стек технологий вы используете для своего приложения. Вы не упоминаете, используете ли вы C#, PHP или другой язык или какую машину запускаете приложение. Эти вещи будут иметь большое значение для ответов, которые вы получите.

+0

Я использую код C, ssh на основе openssh. – datasunny

2

Посмотрите на SFTP.

Редактировать: Вы также можете найти this article полезный для работы rsunc over ssh.

20
echo "hello" | ssh [email protected] "cat - > /tmp/file" 

Я Juste прочитать файл, трубу он в SSH, и писать на сервере SSHHost в/TMP/файла.

+0

Мне нужно программировать передачу файла, потому что есть некоторые ограничения памяти/жесткого диска. – datasunny

+0

+1 для добрых дней :-) Я понимаю, что это сообщение устарело, но вы можете сделать это с помощью скриптов с использованием ключей ssh: http://www.linuxproblem.org/art_9.html – zje

1

Rsync может помочь:

rsync [email protected]:filename remotefilename 
+0

кажется, к сожалению, rsync должен быть доступен на обеих машинах – Hafenkranich

4

старой школы путь «деготь к дегтя», которая делает хорошую работу по копированию и сохраняющих разрешений. Это в значительной степени будет заменено использованием rsync, когда обе стороны имеют rsync.

ssh [email protected] "cd mydir && tar cfp - mysubdir" | tar xvfp - 

Будьте осторожны с разреженными файлами и т. Д., Когда вы это сделаете. У большинства тар есть возможность сохранить отверстия в файлах во время такого рода процессов.

+0

Имейте в виду, что обе стороны должны иметь возможность использовать rsync – Hafenkranich

Смежные вопросы