單向Trusted SSH Authorized
以往使用rsync做備援並做rsync -avlR --delete -e ssh 連線時,對方的主機總是會尋問密碼以做確認,這樣一來便無法使用crontab來進行自動化備份。因為要解決這個問題的重點就在讓對方主機不再向你尋問密碼。解決的方式如下:
假使今天A (10.0.0.1)主機要使用rsync -avlR --delete -e ssh 將資料備份至 B (192.168.0.1)主機上,若要使 A使用SSH連到 B 時不需要輸入密碼則首先要以A主機下進行以下指令
[root@ home]# cd /root/.ssh/
[root@ .ssh]# ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): < -- 此處直接按Enter即可,下次才不會詢問passwd Enter same passphrase again: Your identification has been saved in /root/.ssh/id_dsa Your public key has been saved in /root/.ssh/id_dsa.pub The key fingerprint is: 10:21:32:24:55:66:77:76:55:68:23:43:46:43:85:98 root@xxx.xxx.xxx [root@ .ssh]#
接下來再將上步驟產生二個檔中的id_dsa.pub copy/接續 至B主機/root/.ssh/authorized_key檔案中
[root@ .ssh]# scp id_dsa.pub
192.168.0.1:/root/.ssh/authorized_keys
root@192.168.0.1's password:
id_dsa.pub 100%
|******************************************| 612 00:00
[root@.ssh]#
如此一來便可寫一支shell script 結合 rsync與cron 定期將資料由A主機備份至B主機了
近期迴響