SSH協定
為客戶機提供安全的Shell環境,用于遠端管理
預設端口:TCP 22
OpenSSH
服務名稱:sshd
服務端主程式:/usr/sbin/sshd
用戶端主程式:/usr/bin/ssh
服務端配置檔案:/etc/ssh/sshd_config
用戶端配置檔案:/etc/ssh/ssh_config
ssh指令 —— 遠端安全登入
格式:ssh user@host
scp指令 —— 遠端安全複制
格式1:scp user@host:file1 file2
格式2:scp file1 user@host:file2
sftp指令 —— 安全FTP上下載下傳
格式:sftp user@host
建構密鑰對驗證的SSH體系
實驗案例:建構安全的SSH服務體系
需求描述
允許使用者wzadm從任意位址登陸,采用密鑰對驗證
允許使用者jacky從主機192.168.3.110登陸
禁止其他所有使用者遠端登入
實作思路
同時啟用密碼驗證、密鑰對驗證
鎖定wzadm使用者,改以密鑰對方式進行驗證
使用AllowUser配置,僅允許wzadm、jacky使用者登入
這裡我用GNS3搭建了路由器充當網關伺服器.兩台PC配置設定橋到了VMnet1(192.168.3.0)和VMnet8(218.29.30.0)
正确配置了各主機的網絡參數,添加了測試使用者jacky,wzadm. redhat 5為internet測試用機.redhat 6為網站伺服器
修改sshd_config配置檔案中的内容
監聽22端口
監聽位址
使用SSH V2協定
禁用DNS反向解析
禁止空密碼使用者登入
驗證時間2分鐘,禁止root使用者登入
最大重試6次
啟用密碼驗證
啟用密鑰驗證,指定公鑰庫資料檔案
隻允許wzadm和jacky使用者登入,且jacky使用者隻能從IP位址192.168.3.110的主機遠端登入
1. 在客戶機中建立密鑰對
ssh-keygen指令
可用的加密算法:RSA或DSA
2. 将公鑰檔案上傳至伺服器
任何方式均可(共享、FTP、Email、SCP、……)
3. 在伺服器中導入公鑰文本
将公鑰文本添加至目标使用者的公鑰庫
預設公鑰庫位置:~/.ssh/authorized_keys
把wzadm使用者鎖定.這樣wzadm使用者就隻能使用密鑰驗證了
jacky使用者能從192.168.1.110遠端登入網站伺服器
但jacky使用者不能在218.29.30.218的主機上遠端登入網站伺服器
其它使用者不能遠端登入網站伺服器
wzadm使用者遠端登入的時候,直接要求使用密鑰密碼來登入了
其它使用者還是無法遠端登入