增加SSH的安全性

方法: 修改默认22端口, 禁止以root登录, 限制登入ip, 监视用户登入状态, 好的登录退出习惯, 其他.

修改默认22端口

江湖传闻, 将默认端口改为大于一万的端口能降低被扫描到端口的几率.

修改SSH配置文件:

vi /etc/ssh/sshd_config

在"#Port 22"处添加:

Port 22
Port 12345

重启SSH, 这时SSH端口将同时工作与22和12345上, 加上22端口避免配置错误连SSH都连不上:

/etc/init.d/sshd restart

为12345端口配置防火墙:

vi /etc/sysconfig/iptables

重启防火墙:

/etc/init.d/iptables restart

用新配的端口测试:

ssh UserName@YourIP -p 12345

测试正常后, 去掉SSH配置文件中"Port 22"即可.

禁止以root登录

创建一个普通登录用户, 并取消直接root登录:

useradd NewUser
passwd NewPswd

修改SSH配置文件:

vi /etc/ssh/sshd_config

修改:

PermitRootLogin no

重启:

/etc/init.d/sshd restart

如果嫌每次需要 su root 来获取权限的话也可以建一个root权限的账号, 不过还是用su安全, 具体上百度google一下.

限制SSH登陆IP

安全但不灵活, 客户端是动态IP就不用设置了.

修改:

vi /etc/hosts.deny

添加:

sshd:ALL

修改:

vi /etc/hosts.allow

添加:

sshd:YourIP

监视用户登入状态

sshd会将所有登录日志记录在: /var/log/secure. 可以按照自己的要求编写shell, 比如把每日登录情况写成邮件发送给管理员, 将确认的攻击ip写入hosts.deny文件.

良好的登录登出习惯

SSH默认闲置会自动登出, 不过在设置了SSH保持连线不自动登出后, 长时间闲置的话退出登录是个好习惯.

其他

以上都是常用的快速简单配置, 还有一些方法, 比如配置SSH密钥, 还请自行搜索. 最基本有效的方法还是定期更换复杂的密码.

引用

标签: SSH, 安全