Подтвердить что ты не робот

Перенос файла по ssh

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

Спасибо.

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

4b9b3361

Ответ 1

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

Я просто прочитал файл, запустил его в SSH и написал на сервере SSHHost в файле/tmp/.

Ответ 2

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

Ответ 3

Путь старой школы - это "tar-to-tar", который отлично справляется с копированием и сохранением разрешений. Это в значительной степени будет заменено использованием rsync, когда обе стороны имеют rsync.

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

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

Ответ 4

Попробуйте найти SFTP.

Изменить: Вы также можете найти эту статью, полезную для запуска rsunc по ssh.

Ответ 5

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

rsync [email protected]:filename remotefilename

Ответ 6

To download: remote -> local
scp [email protected]_host:remote_file local_file 

To upload: local -> remote
scp local_file [email protected]_host:remote_file

Для нескольких файлов включите -r после scp.