爲了提高SSH遠程訪問安全需要重新配置/etc/ssh/sshd_config文件,需要修改如下幾點。
操作之前說明一下/etc/ssh目錄下有 sshd_config 與 ssh_config 兩個相似文件,兩個文件區別:
- sshd_config: 這是sshd服務器系統的配置文件
- ssh_config: 這是ssh客戶端系統的配置文件
所以我們要修改的是帶有 d 的sshd_config 服務器系統配置文件
需修改的文件內容:
1) #Port 22 // 遠程訪問端口
2) #ListenAddress 0.0.0.0 // 監聽,如設置爲172.30.11.22那麼遠程端ssh只能與此IP聯機ssh
優點: 如設置爲內網IP,那麼外網的終端設備就無法使用SSH聯機了,因爲ssh監聽的是內網IP.
3) #PermitRootLogin yes // root用戶遠程授權
4) #PermitEmptyPasswords no // 空密碼登錄授權
5) GSSAPIAuthentication yes // 如服務器ip地址沒有配置PTR記錄就會容易卡在這裏推薦禁用.
6) #UseDNS yes // DNS反向解析,IP訪問無需解析禁用可提高SSH訪問速度
參考圖:
grep -iE "Port 22|listenaddress 0.0.0.0|permitrootlogin yes|permitemptypasswords|gssapiauthentication yes|usedns" sshd_config
修改文件:
一. 修改前務必備份好一份配置文件sshd_config
# cp sshd_config sshd_config.20170206
備份文件時在文件的後面添加備份日期以方便日後使用
配置文件修改前備份的優點:
1. 修改完成後可以使用diff或用vimdiff方便對比
2. 操作失誤刪除或修改有誤可以方便還原.
二. 修改sshd_config配置文件
2.1 使用 sed 修改sshd_config配置文件
# sed -i 's/#Port 22/Port 10010/g;s/#ListenAddress 0.0.0.0/ListenAddress 192.168.1.110/g;s/#PermitRootLogin yes/PermitRootLogin no/g;s/#PermitEmptyPasswords no/PermitEmptyPasswords no/g;s/GSSAPIAuthentication yes/GSSAPIAuthentication no/g;s/#UseDNS yes/UseDNS no/g' sshd_config
2.2 使用 vim 修改sshd_config配置文件
# vim sshd_config
1) Port 10010
2) ListenAddress 192.168.1.110
3) PermitRootLogin no
4) PermitEmptyPasswords no
5) GSSAPIAuthentication no
6) UseDNS no
參考圖:
grep -Ei "Port 10010|ListenAddress 172.30.11.22|PermitRootLogin no|PermitEmptyPasswords no|GSSAPIAuthentication no|UseDNS no" sshd_config
修改後對比:
1) diff 使用文本對比
#diff ssh_config.20170206 sshd_config
2) vimdiff 使用彩色對比
#vimdiff ssh_config.20170206 sshd_config
重啓服務:
# /etc/init.d/sshd restart
restart 直接重新啓動服務
或者
# /etc/init.d/sshd reload
reload 重新加載配置文件
驗證:
# netstat -alntup | grep 10010