- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
Hack-31 OpenSSH 安全配置
OpenSSH 安全配置
OpenSSH 的配置文件为 /etc/ssh/sshd_config
下面介绍了 7 个需要更改的地方,也不能说是需要,只能说,这样做会让你的主机在互联网中更安全。
在上面那个配置文件中,有好多行的开始是一个 #
字符,这表示这个行是一个注释,而里面的配置则是默认的,也让就是说,注释掉的行都是默认配置,你可以把注释取消,然后更改选项。
禁止 root 账户登录
服务器默认是允许 root 登陆的,但是最好不要允许 root 直接登陆,而是用你的账户登陆,然后 su -
来进入 root 账户。
(其实这一点我本人不敢苟同,也有可能是因为手里的服务器都是自己掌控,所以不分你我,但我想大多数人也就一台自用的服务器,这个时候就无所谓那个账户了,而且在后面开启证书验证,关闭密码登陆的时候,服务器是相当安全的(就非法登陆而言,漏洞除外), 所以,如果你只有一台机子而这台机子就你自己用的话,还是忽略这点吧.)
之所以这么做,是因为,如果允许 root 登陆,那么每一个以 root 登录的用户在进行一系列操作之后,无法查出具体是谁做的,也就是,翻了错误可以丢锅... 但是当禁止 root 登陆之后,每个用户要想行使 root 权限,就必须使用 su -
, 这一切都是记录下来的 :) 所以犯了错就有据可查咯~
具体操作:
$ vi /etc/ssh/sshd_config
PermitRootLogin no #修改这个地方
仅 允许 特定用户/组登陆
具体操作:
$ vi /etc/ssh/sshd_config
AllowUsers ramesh john jason #允许登陆的用户
AllowGroups sysadmin dba #允许登陆的用户组
仅 禁止 特定用户/组登陆
具体操作:
$ vi /etc/ssh/sshd_config
DenyUsers ramesh john jason #禁止登陆的用户
DenyGroups sysadmin dba #禁止登陆的用户组
更改 sshd 的默认端口
SSHD 默认登陆端口为 22
, 安全起见(防止被爆破), 最好改成一个乱七八糟的端口
$ vi /etc/ssh/sshd_config
Port 23333
更改登陆时限
默认的时间限制是 2 分钟,如果 2 分钟内没有成功登陆,服务器就会断开连接. 2 分钟貌似有点长,所以我们最好把他改小点:
$ vi /etc/ssh/sshd_config
LoginGraceTime 1m
更改监听的网卡
假设服务器有四个网卡,每个网卡对应的 IP 地址分别是:
- eth0 – 192.168.10.200
- eth1 – 192.168.10.201
- eth2 – 192.168.10.202
- eth3 – 192.168.10.203
但是你只想在特定的网卡上监听服务,那么你就可以在配置文件中写道:
$ vi /etc/ssh/sshd_config
ListenAddress 192.168.10.200 # 这是网卡 0
ListenAddress 192.168.10.202 # 这是网卡 2
不活动时断开连接
这个不活动,指的是没有命令执行,无论命令成功获失败,也就是说,只要你在某一时间段内没有按下回车,且当前没有任务在运行,那么服务器就会主动断开连接(把你踢出去).
如果是在 bash 里面,可以利用 TMOUT
这个变量。
在 OpenSSH 中,可以这样修改:
$ vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0 #从不检查
设置 600 内,如果无活动就断开连接。
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论