一、SSH遠程登錄;
二、Tcpwrapper訪問控制;
三、Rsync遠程同步;
四、rsync和inotify實時同步;
一、SSH遠程登錄;
1.SSH的原理:C/S架構(gòu),監(jiān)聽端口tcp協(xié)議22號端口,所有數(shù)據(jù)加密傳輸,登陸時認證方式有密碼和密鑰對,它是telnet的替代軟件;
2.linux系統(tǒng)中的openssh軟件提供ssh的服務,支持ssh協(xié)議(遠程登錄),sftp(安全ftp),scp(遠程拷貝數(shù)據(jù));
3.ssh在linux系統(tǒng)一般默認已經(jīng)安裝,可直接使用:
a.linux的ssh客戶端程序用法:
遠程登錄:ssh 用戶@服務端ip地址
遠程拷貝:scp 用戶@服務端ip地址:目標目錄/文件 本地目錄 ##下載,用戶需要對目標主機的目錄有讀取權(quán)限
scp 本地文件 用戶@服務端ip地址:目標目錄/文件 ##上傳,用戶需要對目標主機的目錄有寫入權(quán)限
遠程ftp:sftp 用戶@服務端ip地址 ##登陸后與lftp的用法相同
注:若服務端更改了ssh協(xié)議的默認端口號,那么則使用ssh、scp等命令時需要指定-P指定服務端的端口號;
b.windows的客戶端:
xmanager:收費的ssh遠程管理套件,提供xftp、ssh、遠程linux桌面功能;
CRT:提供遠程ssh的管理;
putty:遠程登錄工具;
winscp:遠程拷貝,linux和windows之間數(shù)據(jù)傳輸;
4.優(yōu)化ssh的服務端配置:
vi/etc/ssh/sshd_config
Port22 ##指明端口號
ListenAddress192.168.100.150 ##指定監(jiān)聽的ip地址
PermitRootLoginno ##禁用root登陸
GSSAPIAuthenticationyes ##禁用GSSAPI的認證,加快登陸速度
GSSAPICleanupCredentialsyes ##同上
UsePAMno ##禁用DNS查詢
AllowUsersadmin ##明確指定登陸用戶,多個用戶用空格隔開
:wq
/etc/init.d/sshdrestart ##重啟服務
5.ssh的密鑰對方式驗證登錄:
a.密鑰對必須在客戶端上生成,拷貝公鑰到服務端對應的目錄下。注:客戶端用戶必須要有私鑰,服務端用戶必須要有公鑰;
b.配置:
ssh-keygen -t rsa ##客戶端創(chuàng)建密鑰對,一路回車,密鑰對存放在~/.ssh目錄中,id_rsa為私鑰、 id_rsa.pub為公鑰;
ssh-copy-idroot@192.168.100.151 ##上傳公鑰到目標主機中,切導入到目標主機的用戶家目錄 中,~/.ssh/authorized_keys文件中,如若上傳失敗,使用scp進行拷貝并導入: scp .ssh/id_rsa.pub 用戶@目標主機ip地址;
sshroot@192.168.100.151 ##驗證不需要密碼可直接進行登陸
注:同一臺客戶端實現(xiàn)無密碼登陸服務器的多個用戶時,只需將公鑰上傳至服務端的多個用戶的家目錄下即可;
二、Tcpwrapper訪問控制:
1.原理:通過libwrapper.so或者tcpd程序來實現(xiàn)對一些缺乏自身安全機制的服務進行保護,通過/etc/hosts.deny或/etc/hosts.allow兩個文件來進行控制;
2.匹配流程:先hosts.allow允許,后hosts.deny拒絕,如果沒有明確拒絕,則允許;
3.查看服務是否支持tcpwrapper;
ldd$(which 服務主程序) |grep wrap ##若有輸出則代表支持,無輸出則不支持;
4.配置tcpwrapper:
/etc/hosts.deny或/etc/hosts.allow的語法規(guī)則:(允許優(yōu)先)
程序: 客戶端地址[選項]
程序:必須是支持tcpwrapper的程序,如sshd、vsftpd、telnet等,也可以用ALL表示所有支持tcpwrapper 的程序,多個服務以逗號隔開;
客戶端地址:可以為ip、FQDN、域名、網(wǎng)段(192.168.)、ALL表示所有客戶端地址,多個ip以逗號 隔開、LOCAL代表本機地址;
常用的選項:except(排除)、spawn(調(diào)用其它命令);
5.實例:
vi/etc/hosts.deny
sshd:192.168.100.1
vsftpd:ALLEXCEPT 192.168.1.1 : spawn echo "1" >> /var/log/telnet.log
:wq
三、Rsync遠程同步:
1.rsync(rsync快速異地備份工具)的功能:
支持增量備份;可在不同主機之間同步數(shù)據(jù);同步過程可以保持權(quán)限,鏈接且壓縮傳輸,適合做鏡像服務器;
2.rsync的角色:
發(fā)起端:使用rsync的主機就是發(fā)起端;
備份源:響應發(fā)起端的主機就是備份源;
3.rsync同步方向:
上行同步:上傳,數(shù)據(jù)在發(fā)起端,備份源提供目錄,遠程用戶必須對備份源目錄擁有寫入權(quán)限,發(fā)起端登陸的用戶必須要對數(shù)據(jù)擁有讀取權(quán)限;
下行同步:下載,數(shù)據(jù)在備份源上,發(fā)起端提供目錄,發(fā)起端登陸的用戶必須對目錄擁有寫入權(quán)限,遠程用戶必須對備份源的數(shù)據(jù)有讀取權(quán)限;
4.語法:rsync 選項 原始位置 目標位置
常用選項:-a 歸檔模式、保留文件權(quán)限、時間、鏈接、歸屬、特殊文件
-v 輸出詳細信息
-z 壓縮傳輸
-H 保持硬鏈接
-r 遞歸模式,遞歸子文件及子文件夾
--delete 刪除目標目錄有,原始位置沒有的文件
常用選項組合:-av -avzH --delete
5.本地復制文件語法:rsync -av /源文件 /目標目錄/
注:當源文件為例/tmp時,那么將復制tmp整個目錄及目錄下的文件;
當源文件為例/tmp/時,那么將復制tmp目錄下的所有文件,不包含tmp目錄本身;
可同時復制多個文件,中間用空格隔開;
6.清空本地目錄語法:rsync -av--delete /空目錄/ /目標目錄/
注:刪除目標目錄有,空目錄中沒有的目標目錄中的文件,空目錄可以自己創(chuàng)建,則此就達到了刪除的目的;
7.遠程復制文件語法:
上行同步:rsync-avzH 本地數(shù)據(jù)用戶@備份源ip地址:備份目錄
下行同步:rsync-avzH 用戶@備份源ip地址:備份目錄本地備份目錄
四、rsync和inotify實時同步;
1.inotify作用:內(nèi)核模塊,監(jiān)控文件和目錄的變化,通過inotify-tools工具提供inotify-wait(持續(xù)監(jiān)控)和inotify-watch(短期監(jiān)控)兩個模塊進行監(jiān)控;
2.優(yōu)化內(nèi)核參數(shù):
max_queued_events ##最大的時間列隊
max_user_instances ##最大的實例
max_user_watchs ##最大的監(jiān)控文件數(shù)量
注:實時同步是基于監(jiān)控文件的,所以需要在文件所在端,并且rsync只能在發(fā)起端發(fā)出;
總結(jié):實時同步只能處理上行,不能實現(xiàn)下行;
3.inotify+rsync實時同步案例:上行同步
a.安裝inotify-tools;發(fā)起端192.168.100.150
tar zxvf inotify-tools-*.tar.gz -C /usr/src/
cd /usr/src/inotify-tools-*/
./configure &&make &&make install
ls /usr/local/bin/inotify*
b.inotify的使用:發(fā)起端192.168.100.150
vi /etc/sysctl.conf
fs.inotify.max_queued_events = 16384 ##監(jiān)控事件隊列數(shù)
fs.inotify.max_user_instances = 1024 ##監(jiān)控實例數(shù)
fs.inotify.max_user_watches = 1048576 ##監(jiān)控的文件數(shù)量
:wq
sysctl -p
c.測試inotify命令;發(fā)起端192.168.100.150
mkdir /root/data
inotifywait -mrq -e modify,create,attrib,move,delete /root/data
選項注解:-m持續(xù)監(jiān)控,r遞歸目錄,q簡化輸出,-e指定監(jiān)控事件:modify修改、create創(chuàng)建、attrib權(quán)限修改、move移動、delete刪除;在其他終端操作文件,查看變化
d.編寫腳本:發(fā)起端192.168.100.150
vi rsync_inotify.sh ##實時同步腳本
#!/bin/bash
RSYNC="rsync -avzH /root/data/root@192.168.100.151:/tmp/ --delete"
INT_CMD="inotifywait -mrq -emodify,create,move,delete,attrib /root/data/"
$INT_CMD |while read DIRECOTRY EVENT FILE;do
$RSYNC
done
:wq
chmod +x rsync_inotify.sh
rsync_inotify.sh & ##啟動腳本
e.生成密鑰對;發(fā)起端192.168.100.150
ssh-keygen-t rsa
ssh-copy-idroot@192.168.100.151
f.測試驗證,發(fā)起端創(chuàng)建測試文件。發(fā)起端192.168.100.150
cd/root/data
touch1.txt
g.備份源驗證文件是否同步;備份端192.168.100.151
ls /tmp/
配置PXE網(wǎng)絡裝機
一、配置Server端;
1.配置dhcp服務;
[root@pxe ~]# yum -y install dhcp vsftpd tftp-server tftp syslinux
[root@pxe ~]# vi /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 192.168.1.100;
range 192.168.1.150 192.168.1.200;
next-server 192.168.1.100; ##指定tftp-server的ip地址
filename "pxelinux.0";
}
:wq
[root@pxe ~]# /etc/init.d/dhcpd start
[root@pxe ~]# chkconfig dhcpd on
2.配置tftp;
[root@pxe ~]# vi /etc/xinetd.d/tftp
disable = no ##啟用tftp
:wq
[root@pxe ~]# /etc/init.d/xinetd start
[root@pxe ~]# chkconfig xinetd on
[root@pxe ~]# cd /mnt/images/pxeboot
[root@pxe ~]# cp vmlinuz initrd.img /var/lib/tftpboot ##準備內(nèi)核文件、初始化鏡像文件
[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[root@pxe ~]# cd /var/lib/tftpboot/
[root@pxe ~]# mkdir pxelinux.cfg
[root@pxe ~]# vi pxelinux.cfg/default ##生成啟動菜單文件
default auto ##默認使用auto標簽
prompt 1 ##1表等待用戶確認,0不等待直接使用默認標簽
label auto ##定義標簽auto,默認的圖形安裝模式
kernel vmlinuz ##定義內(nèi)核引導參數(shù)等
append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text ##定義文本安裝模式
kernel vmlinuz ##定義內(nèi)核引導參數(shù)等
append text initrd=initrd.img devfs=nomount ramdisk_size=8192 ##也可以將text替換為rescue,那么則是第三種方式-救援模式
:wq
3.配置vsftpd;
[root@pxe ~]# mkdir /var/ftp/rhel
[root@pxe ~]# mount /dev/cdrom /var/ftp/rhel
[root@pxe ~]# /etc/init.d/vsftpd start
[root@pxe ~]# chkconfig vsftpd on
二、新建虛擬機測試;
虛擬機需要配置與pxe服務器同一個網(wǎng)絡下,在安裝時,安裝介質(zhì)選擇URL,然后輸入pxe服務器的ftp地址,就是提供鏡像文件的地址;
三、配置kickstart;
[root@pxe ~]# yum -y install system-config-kickstart
[root@pxe ~]# system-config-kickstart ##調(diào)用xmanager工具進行圖形界面的配置;
[root@pxe ~]# ls
anaconda-ks.cfg install.log install.log.syslog ks.cfg
[root@pxe ~]# mkdir /var/ftp/ks
[root@pxe ~]# cp -rf /root/ks.cfg /var/ftp/ks/
[root@pxe ~]# ls /var/ftp/ks/ks.cfg
[root@pxe ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append ks=ftp://192.168.1.100/ks/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
:wq
[root@pxe ~]# /etc/init.d/dhcpd restart
[root@pxe ~]# /etc/init.d/vsftpd restart
[root@pxe ~]# /etc/init.d/xinetd restart
四、開啟虛擬機重新測試,無序管理員手動干預,即可安裝操作系統(tǒng);