1.在生成環(huán)境中經(jīng)常要修改服務(wù)器的密碼,以保證安全,可以用shell編寫腳本。 用ssh直接修改對(duì)方服務(wù)器的密碼可以用ssh 用戶名@登錄IP 后跟命令就可以實(shí)現(xiàn),但是需要管理員輸入密碼后才能操作,為了不讓管理員手動(dòng)進(jìn)行輸入所以用expect解決此方案,由于expect是單獨(dú)的命令在/bin/bash是無法使用的,所以必須要嵌套使用,<<代表以什么結(jié)尾,EOF代表以EOF結(jié)尾,spawn輸入登錄的命令行,expect為期待著問什么,send代表發(fā)送需要的內(nèi)容,\r代表為回車符。 1臺(tái)服務(wù)器修改密碼的方法 多臺(tái)服務(wù)器并且在全國各地IP地址都是不同的密碼修改,專門編寫存放IP地址的文件,然后在腳本中調(diào)用該文件。 2.ssh輸入時(shí)出現(xiàn)一下錯(cuò)誤的提示,無法ssh登錄到服務(wù)器端,提示如下,說明對(duì)端服務(wù)器的驗(yàn)證被刪除。 服務(wù)器端刪除驗(yàn)證的方法 服務(wù)器端解決的方案 解決ssh輸入時(shí)出現(xiàn)一下錯(cuò)誤的提示,刪除的本機(jī)的known_hosts文件 ssh用秘鑰驗(yàn)證的方法:在本地機(jī)器上生成秘鑰對(duì),把生成的公鑰放到服務(wù)器端,這樣用戶就可以不用輸入密碼就可以登錄。 查看生成的公鑰和私鑰 把生成的公鑰上傳到服務(wù)器端 3.在遠(yuǎn)程服務(wù)器添加一個(gè)用戶為fanlj,但是不登陸到遠(yuǎn)程主機(jī). SSH到遠(yuǎn)程主機(jī)時(shí),能夠調(diào)用遠(yuǎn)程主機(jī)的X窗口 ssh -X 192.168.1.30 sshd配置文件解析 # vim /etc/ssh/sshd_config Port 3389 //修改端口號(hào),修改后客戶端登陸ssh -p 3389 x.x.x.x Protocol 2 ListenAddress 192.168.168.174 //不是在所有IP地址上監(jiān)聽,只監(jiān)聽指定IP地址 PermitRootLogin no //不允許root用戶以ssh方式登陸 PermitEmptyPasswords no //不允許使用空密碼 UseDNS no //不執(zhí)行DNS反解 LoginGraceTime 2m //登錄限時(shí)(寬限期),若客戶端超過此時(shí)間(默認(rèn)2分鐘) //未登錄成功,服務(wù)器將主動(dòng)斷開連接 StrictModes yes //嚴(yán)格模式,此模式會(huì)在允許登入前檢查用戶家目錄和密鑰庫 //文件的權(quán)限、歸屬,若有異常(其他人能寫入)則拒絕登入 MaxAuthTries 6 //每次連接允許認(rèn)證登錄的最多次數(shù),若超過此次數(shù) //仍未登錄成功,服務(wù)器將主動(dòng)斷開連接 4.實(shí)現(xiàn)黑名單/白名單 添加兩個(gè)用戶分別為lj和jim (1)只使用黑名單,其他默認(rèn)全允許;或只使用白名單,默認(rèn)其他全拒絕 (2)允許tom用戶使用ssh,只允許root用戶在192.168.1.30上使用ssh,其他全拒絕 # vim /etc/ssh/sshd_config AllowUsers tom root@192.168.1.30 在服務(wù)器端配置192.168.1.30 在客戶端進(jìn)行測(cè)試 |
|