tar через ssh на хост IPv6

Я хочу использовать tar для удаленного хоста, используя IPv6-адрес удаленного хоста. Я могу ssh и scp на хост, но GNU tar не принимает адрес IPv6.

Я старался:

tar -cjvf root@2001:DB8::1234:5678:/backup.tar.bz2 *

а также

tar -cjvf root@[2001:DB8::1234:5678]:/backup.tar.bz2 *

а также

tar -cjvf root@\[2001:DB8::1234:5678\]:/backup.tar.bz2 *

но ничего из этого не работает. Все они дают ошибки адреса из tar. Моя система Ubuntu имеет версию tar 1.25-3.

3 ответа

Решение

Я нашел ответ (на самом деле уже был ответ, прежде чем спрашивать, но подумал, что это поможет другим, и я кое-чему научился). Разбить tar и ssh на два разных шага сработало.

tar cvjf - * | ssh root@2001:DB8::1234:5678 "dd of=/backup/backup.tar.bz2"

Примечание: я попытался использовать cat вместо dd, но cat у меня не сработал - tar выдавал ошибки записи. Может быть, если бы я использовал аутентификацию по ключу ssh вместо пароля, это сработало бы.

Ссылка:

http://www.astrouw.edu.pl/~jskowron/tar-ssh/

http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

Поскольку он работает по SSH, вы можете использовать:

tar cjvf - /folder/to/backup | ssh root@ipv6 "cat > data.tar.bz2"

Я думаю, что вы вменяете полномочия смолу, которых на самом деле нет. Нет версии tar к которому я имею непосредственный доступ, предполагает, что -f Флаг принимает аргумент, который является парой удаленного пользователя / машины.

Не могли бы вы сказать, почему вы думаете, что это будет работать?

Другие вопросы по тегам