Linux下使用ssh金鑰實現無互動備份

2021-09-23 18:00:16 字數 1674 閱讀 2154

伺服器a(主) 192.168.1.120

伺服器b(從) 192.168.1.130

需求:伺服器b定期拉取伺服器a的資料並備份。

實現方式:

一、備份伺服器b安裝rsync

1)檢視是否安裝

rpm -aq rsync
安裝命令 yum intsall rsync -y

2)啟動服務

rsync --daemon
3)檢視服務

ps -ef |grep rsync #或者 netstat -lnutp |grep rsync

二、主伺服器a配置使用者

新增使用者

useradd rget
設定密碼

echo '123456' | passwd --stdin rget
設定許可權

setfacl -r -m user:rget:rwx /home/tomcat8
設定預設許可權 及時以後目錄變動更改

setfacl -r -m default:rget:rwx /home/tomcat8
檢視許可權是否正確

getfacl /home/tomcat8_pay
二、備份伺服器b生成金鑰

1)生成金鑰(一直回車就可以)

ssh-keygen -t rsa
2)複製金鑰,這裡需要輸入伺服器a剛才配置的的密碼

ssh-copy-id   [email protected]
3)測試 登陸伺服器a(主)

ssh     [email protected]
4)登陸成功 exit 退出即可

三、備份伺服器b執行同步

1)執行命令

rsync  -azp  --delete   [email protected]:/home/tomcat8   /backup
如果backup目錄中存在tomcat8中的檔案,同步成功。

2)編寫指令碼

vi rsync_back.sh

#!/bin/bash

rsync -az [email protected]:/home/tomcat8 /backup

定期備份的時候可以把 -azp中的p去掉,不用看進度。

delete 也要去掉,防止誤刪操作。

執行 chmod +x rsync_back.sh

3)定時同步(每天一點半)

命令 crontab -e

30 1 * * *  /home/rsync_back.sh &

#定期備份

tar -zcvf backup_`date +%y-%m-%d`.tar.gz /backup/

當然這樣實現備份是極為不安全的,rget使用者是可以登陸系統的,也就是說可以做各種操作,甚至提權操作。

後面我們要講到的是使用 rsync配置虛擬使用者備份檔案,不使用系統使用者。

原文:

(翻譯)Mac下ssh使用金鑰登入

putty可以使用ppk格式的私鑰通過ssh登入主機,而不需要輸入密碼 mac下,如何使用得到的ppk?安裝putty sudo port install putty 這條命令會安裝putty,以及各種依賴包,順帶會安裝puttygen,puttygen可以用來.pem檔案,偉大的gfw下,一般需耗...

git使用ssh金鑰

git使用https協議,每次pull push都需要輸入密碼,相當繁瑣。使用git協議,使用ssh金鑰,解決問題。大概需要三個步驟 一 本地生成金鑰對 二 設定github上的公鑰 三 修改git的remote url為git協議。一 ssh keygen t rsa c 郵箱賬號 注意 需要點三...

ssh使用金鑰實現免密登入

環境 mac cent os 7 生成金鑰對ssh keygen t rsa c 預設檔名稱是id rsa和id rsa.pub,如果不需要修改金鑰檔名稱,一路回車直到金鑰對生成完成 如果想自己指定,需要在第一次互動中輸入自己指定的檔名稱。在 ssh目錄下新增authorized keys檔案,並將...