首页 > 代码库 > 重新配置SSH远程服务端
重新配置SSH远程服务端
为了提高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
本文出自 “Sun_Hat” 博客,请务必保留此出处http://sunhat.blog.51cto.com/9142494/1895357
重新配置SSH远程服务端