Мені потрібно робити періодичні резервні копії каталогу на віддаленому сервері, який є віртуальною машиною, розміщеною дослідницькою організацією. Вони вимагають, щоб доступ до віртуальних машин здійснювався через ключі ssh, що добре, за винятком того, що я не можу зрозуміти, як вказати rsync на ключ ssh для цього сервера.
Rsync не має жодних проблем, якщо файл ключа є ~/.ssh/id_rsa
, але коли це щось інше, я отримую Permission denied (publickey)
.
За допомогою ssh я можу вказати файл посвідчення -i
, але, схоже, у rsync такої опції немає.
Я також намагався тимчасово перемістити ключ на локальній машині ~/.ssh/id_rsa
, але це також не працює.
тл; д-р
Чи можете ви вказати файл посвідчення за допомогою rsync?
rsync -aAP "sudo -u user ssh" user@server:dir local_dir
під час синхронізації із cron-скриптів, які виконуються як root
sudo rsync
, що чомусь не використовує власні ssh-ключі.