linux配置ssh+rsync
ssh 遠程登錄
sftp 文件共享 類似ftp ssh secure file transfer client
scp 文件共享 類似cp
www.2cto.com
ssh配置文件
/etc/ssh/sshd_config
#PermitRootLogin yes 改成no 禁止root直接登錄
#Port 22 改變ssh的默認端口號 要打開注釋
重啟ssh服務
service sshd restart
ssh
登錄 ssh
[email protected] 然後輸入密碼就好了
-2 ssh2協議 建議用ssh2 安全性會更好 ssh -2
-p 指定非標准端口 ssh -2 -p2222
[email protected]
www.2cto.com
sftp
也可以直接在命令行用sftp連接這台主機 sftp
[email protected]
scp 拷貝遠程文件 加密傳輸
scp 本地文件 用戶名@遠程主機地址:遠程主機目錄 scp /etc/inittab
[email protected]:/gwyy
scp -r 本地目錄 用戶名@遠程主機地址:遠程主機目錄 -r拷貝文件
從遠程主機拷貝文件到本地
scp 用戶名@遠程主機地址:遠程主機文件 本地目錄
scp -r 用戶名@遠程主機地址:遠程目錄 本地目錄
常用選項
-p 保持文件屬性 比如時間屬性
-r 復制目錄
-P 指定端口號
例子 可以用crontab + scp做遠程備份
crontab -e
0 2 * * 0 /usr/bin/scp -r
[email protected]:/web /backup/web 周一到周六做增量備份
生成 ssh密鑰 讓2台主機不需要密碼
第一台主機 root 生成公鑰 拷貝到 第二台主機 gwyy 家目錄裡面 這樣 第一台主機root連接第二台主機gwyy不需要密碼
ssh-keygen -t rsa 生成公鑰
scp /root/.ssh/id_rsa.pub
[email protected] /home/gwyy 把公鑰拷貝到另一台主機
第二台主機 賬號登陸 手動創建 .ssh目錄 mkdir .ssh 是隱藏的 要用 ls -a 查看
cat id_rsa.pub >> .ssh/authorized_keys 然後把復制來的文件 改名拷貝到.ssh目錄
chmod 700 .ssh 改變權限 這個目錄 只有普通用戶有權限
chmod 600 .ssh/authorized_keys 權限必須是600 讀寫權限
rsync 應用
方便的增量備份 可以使用ssh加密通道 可以鏡像保存整個目錄和文件系統 保持文件的權限時間軟連接 等等 傳輸效率高
啟用服務
編輯 /etc/xinetd.d/rsync
設置 disable = on 啟用 默認不啟用
重啟xinetd進程 service xinetd restart
例子 周1到周6做一次備份
crontab -e
0 2 * * 1-6 /usr/bin/rsync -arHz --delete
[email protected]:/web /backup 把另一台主機的web目錄拷貝到本機的back下面
-a 保持文件屬性
-r 子目錄遞歸處理
-H 保持文件硬鏈接
-z 備份文件傳輸時候壓縮處理
--progress 在傳輸時候顯示傳輸過程
--delete 刪除目標備份沒有的文件
-e ssh 使用ssh加密隧道傳輸