1、ssh協議:用於遠程登錄,端口號:22/tcp
配置文件:
1)服務器端口:/etc/ssh/sshd_config
2)客戶端 :/etc/ssh/ssh_config
2、服務器監聽選項:
UseDNS no :禁用DNS反向解析
PermitRootLogin :允許Root登錄
PermitEmyptPasswords:是否允許空密碼
AllowUsers/DenyUsers: 允許/拒絕用戶訪問,不可同時使用,可用@制定允許遠程主機
PasswordAuthentication: 啟用密碼驗證
PubkeyAuthentication:啟用密鑰對驗證,優先級高
AuthorizedKeysFile:公鑰庫文件位置及名稱 .ssh/authorized_keys
3、驗證方式:
1)密碼驗證:用/etc/passwd和/etc/shadow文件驗證
2)密鑰對驗證:核對客戶私鑰與服務端公鑰是否匹配
4、訪問方式:
1)ssh命令: 遠程登錄
格式: ssh 用戶名@主機ip
或 ssh -l 用戶名 主機ip
2)scp命令:遠程復制
格式: scp -r 用戶名@服務器IP:/文件路徑 /本地路徑
scp 本地路徑 用戶名@服務器IP:/文件路徑
3)sftp: 安全的ftp下載,無須vsftpd服務支持
sftp 用戶名@主機IP
4)Xsheel: 在windows下遠程登錄服務器的軟件
5、構建密鑰對驗證:
1)生成密鑰對: 加密算法: 有RSA和DSA兩種
命令:ssh-keygen -t rsa
生成密鑰對文件:id_rsa.pub
生成私鑰文件:id_rsa
2)將公鑰文件上傳到服務器並改名為:authorized_keys
Scp ~/.ssh/id_rsa.pub 用戶名@服務IP:/~/.ssh/authorized_keys
或ssh-copy-id -i 公鑰文件 用戶IP
3)客戶端會創建known_host文件記錄已登錄服務的摘要信息
6、TCP Wrappers:通過tcpd進程調用libwrap.so.*鏈接庫進行控制
控制文件:
/etc/hosts.allow 允許訪問文件
/etc/hosts.deny 拒絕訪問控制文件
控制格式:服務列表:客戶機地址列表
列表以逗號分隔 ALL代表所有
?代表一個字符 *代表任意個字符
地址可用IP地址、網段、域名
網段方式:192.168.4.
或192.168.4.*
或192.168.4.0/255.255.255.0
策略順序:默認允許,允許優先
構建SSH服務體系示例
一、實驗拓撲圖:
二、實驗要求:
1、網關的配置要求:
兩個網卡,分別如圖所示IP地址。開啟路由轉發功能:
echo "1" > /proc/sys/net/ipv4/ip_forward
以及需要停止 servieNetworkManager stop服務
三台linux主機配置完成后可以互相ping通,如下圖:
Win7也可以ping通ssh服務器
2、SSH-web服務器的配置要求:
有兩個用戶,分別是zhangsan,lisi。要求zhangsan用戶只能在1.10主機上使用密鑰對的方式認證登錄。lisi只能在1.20使用xshell登錄,采用的直接密碼驗證的方式登錄。禁用任何其他用戶在客戶端登錄。在此服務器上安裝一個lrzsz軟件包(在linux的安裝光盤上。),用於xshell能上傳和下載軟件。
步驟:
1)首先創建好zhangsan和lisi用戶,並分別設置密碼

2)配置sshd的主配置文件/etc/ssh/sshd_config ,設置zhangsan和lisi的登錄主機
重啟sshd服務
3)在1.10客戶機上使用root身份創建密鑰對文件並上傳公鑰到ssh服務器的zhangsan用戶
查看確認生成的密鑰文件
上傳公鑰
到ssh服務器上的zhangsan目錄查看是否有.ssh隱藏目錄,並且里面有authorized_keys文件。

4)在ssh服務器上安裝lrzsz軟件包
3、客戶端要求:(驗證)
1)1.10:使用zhagsan用戶,驗證密碼短語后能夠登錄。
登錄成功
2)驗證使用lisi用戶在1.10客戶機上不能登錄
3)1.20:安裝Xshell ,使用lisi用戶,驗證lisi密碼后能登錄。
4)在xshell上傳一個apache的安裝包,並在2.10上安裝Apache服務。
輸入rz命令並選擇軟件包上傳
到lisi的目錄查看並安裝
5)在lisi的目錄創建一個文件驗證是否能下載
6)在1.20 win7主機上驗證zhangsan用戶不能登錄
7)驗證其他用戶在客戶端不能登錄
文章參考微信公眾號:L寶寶聊IT