scp異地備份

scp異地備份

A主機
1.用oracle用戶登入:192.17.28.5
2.產生公鑰與私鑰:id_rsa為私鑰,id_rsa.pub為公鑰
cd /home/oracle/.ssh  --要確保.ssh文件夾,其它用戶或用戶組沒有W寫的權限,否則將無效.
[oracle@ytdbbackup .ssh]$ssh-keygen -t rsa --有提示默認回車就OK

3.將公鑰復制給要免密碼的IP主機,
並將id_rsa.pub寫到IP主機的:/home/oracle/.ssh目錄的authorized_keys文件:
[oracle@ytdbbackup .ssh]$ssh-copy-id -i id_rsa.pub [email protected]

B主機
1.用oracle用戶登入:192.17.28.2
cd /home/oracle/.ssh
2.權限改為只讀,不能寫。注:如果authorized_keys文件可以寫則免密碼登錄失效。
chmod 400 authorized_keys
3.查看權限,只當前用戶有r權限。
ls -lth

A主機:
1.oracle用戶登錄.
2.sh文件建立:
touch scp.sh
vi scp.sh
寫入:
scp -r [email protected]:/data/backup/backup_tfj_rman /data/backup/
scp -r [email protected]:/data/backup/archive_jxdb /data/backup/
3.排程:crontab -e
--rman備份後,星期1、2、4、6,備份rman文件。
58 03 * * 1,2,4,6 sh /data/backup/backup_tfj_rman/scp.sh

B主機排程:crontab -e
--星期1、3、5、天,晚上20:30rman排程
30 20 * * 1,3,5,7  sh /data/backup/backup_tfj_rman/rman_job.sh

 

A作爲客戶端,要實現無密碼公鑰認證,連接到服務器B上時,
需要在A上生成一個密鑰對,包括一個公鑰和一個私鑰,而後將公鑰複製到所有的Slave上。
當A通過SSH連接B時,B就會生成一個隨機數並用A的公鑰對隨機數進行加密,併發送給A。
A收到加密數之後再用私鑰解密,並將解密數回傳給Slave,Slave確認解密數無誤之後就允許A進行連接了。
這就是一個公鑰認證過程,其間不需要用戶手工輸入密碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章