Передача файлів через SSH


9

Я хочу використовувати передачу файлів через SSH на деяких сценаріях. Я читав, що можна націлити на ssh. З чого я повинен почати читати?


Чому ви виховуєте дьоготь?
Зоредаче

1
tar - це найшвидший спосіб копіювання файлів через SSH. scp та rsync мають багато накладних витрат під час копіювання безлічі невеликих файлів.
Джастін

@ Джустін, звичайно, припущення з дьогтем полягає в тому, що у вас буде надійний зв’язок. Якщо сировина не має значення, то зазвичай краще дотримуватися більш поширених і простих рішень, таких як scp / rsync.
Зоредаче

1
так? смола над ssh не гірше, ніж scp або rsync. Єдиний аспект, у якому rsync кращий, це те, що він дозволяє відновити. Якщо з'єднання не є надійним, напевно, все ж варто спершу спробувати tar через ssh, а потім закінчити передачу rsync.
Джастін

@Justin, це створило б досить складний сценарій. Можливо, нам слід почати з чогось просто більш базового.
Джон Гарденєр

Відповіді:


23

Перенести файли через ssh ви можете

  • використовувати scp
    • scp -r /srcdir/ user@remotehost:/destdir/
  • використовувати rsync над ssh (див. параметр -e)
    • rsync -e ssh -a /srcdir/ user@remotehost:/destdir/
  • використовувати якийсь інструмент, який передає дані через stdin / out ( tar , cpio тощо)
    • cd /sourcedir; tar -c . | ssh username@remotehost bash 'cd /dstdir; tar -x
  • Змонтуйте файлову систему через sshfs (якщо запобіжник підтримується у вашій системі)

Я регулярно використовую всі три; який я використовую, залежить від обставин.
reinierpost

3

У O'Reilly є книга з усіма - SSH, The Secure Shell: The Definitive Guide - якщо ви користуєтеся нею для Google, є багато посилань, місць для її придбання та перегляду в Інтернеті.


Мені подобається це, коли ти здивований і жодних коментарів не повідомляєш чому. Він запитав, з чого почати читати - і це доступно в Інтернеті та в книгарні. Це чудова орієнтир для ssh.
Кевін К

Я думаю, що це теж неправильно. Чому ви проголосували (двічі), враховуючи, що ви насправді відповіли на запитання, і прийнята відповідь (проголосували 15 разів до цього часу) - це загальне, як скопіювати файли через ssh, не маючи посилання на те, з чого почати читати. Я буду голосувати за вас, просто намагаюся виправити ситуацію. Не дозволяй їм збити тебе людиною.
Річард Холлоуей,


0

Для tar над ssh, ви можете використовувати факт, ssh вперед stdin та stdout. Так ви можете зробити

ssh server 'tar czf - /some/dir/' > tarfile.tar.gz

і мати резервну копію на локальній машині.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.