ssh安全

1.限制ssh远程登录的时候直接以root帐号登录:

修改配置文件/etc/ssh/sshd_config,加上一个record: PermitRootLogin no

这 样设置后重启ssh service,/etc/init.d/sshd restart即可生效,生效后我们就不能直接以root的方式登录了,我们需要用一个普通的帐号来登录,然后用su来切换到root帐号,注意 su和su - 是有一点小小区别的。(据本人观察,关键在于环境变量的不同,su -的环境变量更全一些)

2.更改SSH的默认端口(修改以后要注意使用setup命令后,iptables端口开放情况)

更改SSH端口号(修改后使用setup时要注意)

假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config这个文件,这里把#Port 22这个字段前面的#去掉,再把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。    
然后执行/etc/rc.d/init.d/sshd restart ,把ssh服务重启就行了

 

如果修改后,不能联接上,记得在防火墙上把修改后的端口打开,并重启防火墙

3. 只允许通过指定的网络接口来访问SSH服务,(如果一服务器有多个IP的时候)

仍然是修改/etc/ssh/sshd_config 加上一个recordListenAddress 192.168.1.15

这样就只允许别人通过连接改服务器上的网络接口获得的IP192.168.1.15去连接该服务器的ssh服务了。

4.限制空密码登录

如果有的系统account设置的是空密码,如果ssh没有做相应的设置,那么登录ssh的时候就算帐号的密码是空的也是可以登录的,我们仍该设置上面的那个文件 ,把#PermitEmptyPasswords no的#去掉即可

5. 只允许某些用户通过 ssh 访问主机. user@host 也可用于限制指定用户通过指定主机访问.

AllowUsers alex ref me@hostna

仅允许alex ref 或者hostname这个机器上的me这个user去连接该服务器的ssh服务

6. 仅允许某个组的成员通过 ssh 访问主机. AllowGroups 和 AllowUsers 对于拒绝访问主机有同样的效果当称它们为 “DenyUsers” 和 “DenyGroups” 时不要觉得奇怪.

AllowGroups wheel admin

7.禁用版本1协议因为其设计缺陷很容易使密码被黑掉更多信息参阅 ssh协议问题报告 或 Xforce 通告.

Protocol 2

8.为用户连接到 ssh 服务器增加一个标题(它将从文件读取), 在一些国家登入给定系统前给出未经授权或者用户监视警告信息将会受到法律的保护.

Banner /etc/some_file