遠程訪問及控制
一、SSH遠程管理
Ssh是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程複製等功能。
Ssh協議對通信雙方的數據傳輸進行了加密處理、其中包括用戶登錄時輸入的用戶口令。
Ssh協議:爲客戶端提供安全的shell環境,用於遠程管理 默認端口:TCP 22
配置openssh服務端:(openssh服務端程序/usr/sbin/sshd)
Sshd服務的配置文件默認位於/etc/ssh/sshd_config目錄下
服務器監聽選項:
Vi /etc/ssh/sshd_config
Port 22 監聽端口爲22
listenAddress 192.168.1.10 監聽地址爲192.168.1.10
Protocol 2 使用SSH V2協議 (V2 比 V1 的安全性更好)
UseDNS no 禁用DNS反向解析 (提高服務器響應速度)
Service sshd reload
用戶登錄控制:
Sshd服務默認允許root用戶登錄
Vi /etc/ssh/sshd_config
Logingracetime 2m 登錄驗證時間爲2分鐘
permitRootLogin no 禁止root用戶登錄
MaxAuthTries 6 最大重試次數爲6
PermitEmptyPasswords no 禁止空密碼用戶登錄
Service sshd reload
登錄驗證方式:
密碼驗證:以服務器中本地系統用戶的登錄名稱、密碼進行驗證
密鑰對驗證:要求提供相匹配的密鑰信息才能通過驗證
Vi /etc/ssh/sshd_config
PasswordAuthentication yes 啓用密碼驗證
PubkeyAuthentication yes 啓用密鑰對驗證
AuthorizedKeysfile .ssh/authorized_keys 指定公鑰庫數據文件
Service sshd reload
二、使用SSH客戶端程序
命令程序 ssh、scp、sftp
sftp命令(安全FTP上下載):
格式:sftp user@host
Ssh命令:(遠程安全登錄):
格式:ssh user@host
例:ssh -p 2345 [email protected] 使用非默認端口號連接
Scp命令:(遠程安全複製):
格式1:scp user@host:file1 file2
格式2:scp file1 user@host:file2
三、構建密鑰對驗證的ssh體系
在客戶端創建密鑰對:ssh-keygen -t rsa
-t:用於指定算法類型 可用的加密算法爲RSA或DSA
將公鑰文件上傳至服務器:
Scp ~/ssh/id_rsa.pub [email protected]:/tmp
在服務器中導入公鑰文本:
Mkdir -p /home/lisi/.ssh/
Cat /tmp/id_rsa.pub >> /home/lisi/.ssh/authorized_keys
在客戶端使用密鑰對驗證:
四、TCP Wrappers訪問控制
對應的兩個策略文件爲/etc/hosts.allow和/etc/hosts.deny,分別用來設置允許和拒絕的策略
策略的配置格式:
<服務程序列表>:<客戶機地址列表>
服務程序列表:
ALL:代表所有的服務
單個服務程序:如“vsftpd”
多個服務程序組成的列表:如“vsftpd,sshd”
客戶機列表:
ALL:代表任何客戶機地址
LOCAL:代表本機地址
單個IP地址:如“192.168.1.1”
網絡段地址:如“192.168.1.0/255.255.255.0”
以‘.’開始的域名:如“.benet.com”匹配benet.com域中的所有主機
以‘.’結束的網絡地址:如“192.168.4.”匹配整個192.168.4.0/24網段
*:任意多個字符 ?:任意單個字符
訪問控制的基本原則:
首先檢查/etc/hosts.allow文件,如果找到相匹配的策略,則允許訪問,否則繼續檢查/etc/hosts.deny文件,如果找到相匹配的策略,則拒絕訪問;如果檢查上述兩個文件都找不到相匹配的策略,則允許訪問。