Muszę robić okresowe kopie zapasowe katalogu na zdalnym serwerze, który jest maszyną wirtualną hostowaną przez organizację badawczą. Utrzymują, że dostęp do maszyn wirtualnych odbywa się za pomocą kluczy ssh, co jest dobre, z wyjątkiem tego, że nie mogę wymyślić, jak wskazać rsync na klucz ssh dla tego serwera.
Rsync nie ma problemu, jeśli plik klucza jest ~/.ssh/id_rsa
, ale gdy jest to coś innego, dostaję Permission denied (publickey)
.
Za pomocą ssh mogę określić plik tożsamości za pomocą -i
, ale rsync wydaje się nie mieć takiej opcji.
Próbowałem także tymczasowo przenieść klucz na maszynie lokalnej do ~/.ssh/id_rsa
, ale to również nie działa.
tl; dr
Czy możesz podać plik tożsamości za pomocą rsync?
rsync -aAP "sudo -u user ssh" user@server:dir local_dir
podczas synchronizacji ze skryptów cron, które działają jako root
sudo rsync
, który z jakichś powodów nie używa własnych kluczy ssh.