Как rysnc работает над ssh?

Когда программа rsync вызывается над ssh, как выглядит взаимодействие между rsync и ssh? Какая особенность ssh используется rsync? Меня интересует взаимодействие между rsync и ssh.

  • Передача файлов через ssh, но без scp или sftp
  • Как просмотреть вывод запущенной программы поверх ssh
  • Некоторые папки всегда отсутствуют с помощью Rsync на сервере
  • ssh-туннелирование: соединение закрыто иностранным хостом
  • SSH с Cron: ключ RSA не принят
  • Как запускать несколько команд sudo по уже открытому ssh-соединению
  • Сервер SSH не отвечает на запрос на подключение
  • Как мне начать X после ssh'ing в удаленную коробку?
  • Код PBS для отправки задания в кластер
  • Хотите, чтобы rsync некоторые файлы после того, как они были sedded
  • Нужен ли мне рабочий стол для запуска графического интерфейса?
  • rsync: пропустить файлы, для которых у меня нет разрешений
  • One Solution collect form web for “Как rysnc работает над ssh?”

    ssh предоставляет подключенный поток из локальной системы, запускающей ваш rsync в другой экземпляр, запущенный на удаленном сервере. Локальный rsync запускает его как часть процесса подключения ssh – это не тот же экземпляр rsync который может быть запущен как демон на этом удаленном сервере.


    Что такое поток ssh ?

    Поток ssh – это то, что вы используете, когда вы используете ssh для удаленной системы. Вы можете назвать его сеансом ssh . Хорошо. Например, ssh snow@grumpy.example.net подключит вас к этой удаленной системе и даст вам интерактивный сеанс. Все, что вы набрали локально, будет получено и будет действовать удаленно, и все, что было бы отдаленно отдано, будет представлено вам локально.

    Аналогично, ssh -t snow@doc.example.net vi /etc/hosts установит соединение для запуска vi /etc/hosts в удаленной системе, как если бы вы использовали его локально. (Флаг -t сообщает ssh чтобы убедиться, что удаленная команда vi запущена на псевдотерминале, иначе она пропустит этот уровень сложности.)

    Теперь для rsync соединение устанавливается локальным экземпляром с чем-то вроде ssh snow@bashful.example.net rsync --server -nlogDtpre.iLsf {local_path} {remote_path} . Это позволяет локальному rsync разговаривать с удаленным rsync по соединению, как если бы вы использовали для доступа к тому же удаленному серверу. Удаленный экземпляр rsync знает, что это сервер из-за флагов, которые были предоставлены при запуске локальным экземпляром.

    Вы можете видеть, как rsync был вызван удаленно, запустив что-то вроде ssh snow@dopey.example.net 'ps -ef | grep [r]sync' ssh snow@dopey.example.net 'ps -ef | grep [r]sync' то время как rsync выполняется.

    Почему бы просто не поговорить rsync без ssh ?

    Преимущество использования ssh двоякое

    1. Это хорошо известный протокол, и механизмы аутентификации и входа в удаленную систему хорошо поняты (теми, кто должен это понимать), и доверенными
    2. Он обеспечивает безопасный и зашифрованный канал, по которому можно безопасно передавать любые конфиденциальные данные. Без этого уровня rsync либо должен был бы реализовать свое собственное шифрование, либо игнорировать проблему. Оба являются опасными в современном мире, подключенном к Интернету.
    Linux и Unix - лучшая ОС в мире.