У меня есть частный виртуальный сервер, на который я пробую резервное копирование некоторые каталоги от локального мой /home
каталог.
Я подготовил этот сценарий:
#!/bin/bash
/usr/bin/rsync -rvvv /home/arkadiusz/scripts root@XXX.XXX.26.106:/home/backup/
/usr/bin/notify-send "Backup complete" "~/scripts -> vps" -i cryptkeeper
В crontab пользователя я добавил запись:
*/1 * * * * /home/arkadiusz/scripts/vps.sh > /home/arkadiusz/cron-vps.log 2> /home/arkadiusz/cron-vps.error.log
После выполнения сценария оболочки, моего scripts
каталог не появляется в /home/backup/
на удаленном сервере. В cron-vps.log
файл я вижу только это:
opening connection using: ssh -l root XXX.XXX.26.106 rsync --server -vvvre.iLsfx . /home/backup/ (9 args)
[sender] _exit_cleanup(code=12, file=io.c, line=226): about to call exit(255)
В cron-vps.error.log
файл оказывается, что это - проблема авторизации:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
Я проверил дополнительно sshd
состояние на моем удаленном сервере:
root@vpsXXXXXX:/home/backup# service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2017-04-12 01:04:09 CEST; 12h ago
Main PID: 281 (sshd)
CGroup: /system.slice/ssh.service
└─281 /usr/sbin/sshd -D
...
Apr 12 13:41:01 vpsXXXXXX.ovh.net sshd[5019]: Failed password for root from XXX.XXX.232.122 port 21782 ssh2
Apr 12 13:41:01 vpsXXXXXX.ovh.net sshd[5019]: Failed password for root from XXX.XXX.232.122 port 21782 ssh2
Apr 12 13:41:01 vpsXXXXXX.ovh.net sshd[5019]: Connection closed by XXX.XXX.232.122 port 21782 [preauth]
На основе этих журналов это, кажется, проблема с авторизацией, но мои работы соединения SSH, когда я пытаюсь войти в систему свое удаленное, разъединяют с этой командой:
ssh root@XXX.XXX.26.106
Кроме того, rsync
управляйте работами в терминале без любых паролей:
/usr/bin/rsync -rvvv /home/arkadiusz/scripts root@XXX.XXX.26.106:/home/backup/
Что я делаю неправильно?
В файле cron-vps.error.log оказывается, что это - проблема авторизации:
аутентификация и авторизация является другой проблемой. Это - аутентификация, которая перестала работать (в этом случае пароль, как видимая от журналов).
По всей вероятности Вы настроили свой закрытый ключ, который будет зашифрован, но Вы не замечаете его он нормальные сессии, потому что Вам сохранили его в ssh-agent
. Это хорошо работает на Вашей сессии, но это не будет работать на сессии, которая инициируется от Вашего crontab
.