SSH без пароля обычно выполняется с помощью аутентификации с открытым ключом. Обычно вы шифруете закрытый ключ паролем, однако, поскольку вы хотите запустить скрипт автоматической синхронизации, я бы порекомендовал вам создать ключи как другой пользователь и запустить скрипт оболочки как этот пользователь.
На клиенте:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -q -f ~/.ssh/id_rsa -t rsa
# Press enter twice when asked for a passphrase
Поскольку у Mac нет SSH Copy Id, вам нужно сделать это вручную:
scp ~/.ssh/id_rsa.pub user@server.example.com:~
На сервере
mkdir ~/.ssh
chmod 700 ~/.ssh
# Append or copy public key to authorized keys file:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub
Сценарий оболочки - это текстовый файл с исполняемым набором разрешений, который начинается с
#!/bin/sh
# you can then do any commands that you do manually, ex:
# (See levy's answer for the rsync command to use)
rsync /home/Anders/ 192.168.3.5:~/backup/location
Для периодического выполнения скрипта вы можете использовать cron. Скажем, мы сохранили этот скрипт в /home/Anders/bin/sync.sh. Затем вы запускаете:
env EDITOR=nano crontab -e
как пользователь, которого вы хотите запустить как скрипт cron.
В появившемся текстовом редакторе вы должны ввести:
#Minute Hour Day Month Year Command
0 13 * * * /home/Anders/bin/sync.sh
Вышеуказанное будет синхронизироваться каждый день на 0-й минуте 14-го часа (начинается отсчет с нуля), подстраиваясь под ваши нужды.
Другим вариантом может быть SSHFS. То есть вы можете подключить его и работать с ним как с обычным каталогом.