Как использовать rsync с удаленным удаленным хостом

Это от kill(2) страница справочника:

Чтобы процесс имел разрешение отправить сигнал, это должно или быть привилегировано (в соответствии с Linux: имейте возможность CAP_KILL), или реальный или эффективный идентификатор пользователя процесса отправки должен равняться реальному или сохраненному идентификатору пользователя набора целевого процесса. В случае SIGCONT это удовлетворяет, когда отправление ‐ луг и получающие процессы принадлежит той же сессии.

Таким образом, по существу, при нормальных обстоятельствах, если Вы не корень (и не имеют никакого способа стать корнем или что другой пользователь, через sudo или setuid программы), Вы не можете уничтожить процесс другого пользователя.

4
15.07.2012, 11:46
2 ответа

Взгляните на то, Как я соединяюсь с ПК через другой ПК с помощью ssh

Вы создаете новое ~/.ssh/config запись с именем tunnelb:

Host tunnelb
HostName hostB
User user
ProxyCommand ssh user@hostA nc %h %p

Если у Вас есть последняя версия ssh, можно использовать Proxycommand ssh user@hostA -W %h:%p вместо этого. Это предпочтено, поскольку это не полагается nc

Теперь можно просто использовать rsync -e ssh tunnelb:~/folder ~/folder поскольку это будет использовать определенную запись в ~/.ssh/config.

8
27.01.2020, 20:50

Различный 1:

Во-первых, запустите ssh на хосте постоянно с локальным перенаправлением портов в другом терминале. Например:

ssh -N -v -L 22022:hostB:22 hostA

Затем "канал" rsync с ssh к localhost:22022. Один вариант должен записать в ~/.ssh/config:

Host hostB
HostName localhost
Port 22022

Различные 2:

Замена -e ssh с -e к некоторому сценарию, который содержит:

ssh hostA 'ssh hostB' "$@"

Я не попробовал его, таким образом, некоторые детали будут разработаны дополнительно.

0
27.01.2020, 20:50
  • 1
    Спасибо за Вашу подсказку. Не смог успешно rsync все же. Для portforwarding я получаю errormessage как debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_1000' not found. Для второго варианта я добираюсь bash: hostA: command not found. Я озадачу немного на Вас предложение, больше больше подсказок, чем, желанный –  Bernhard 15.07.2012, 12:32

Теги

Похожие вопросы