增强 SSH 安全性的 7 条技巧

鉴客 发布于 2011/05/23 15:16
阅读 601
收藏 5

在绝大部分的 Linux 服务器上都使用 OpenSSH 作为 SSH server,所以这篇文章只针对 OpenSSH。其实这些技巧都是很基础的,但如果你能好好使用它们的话,一定程度上确实可以有效提升 SSH 的安全性.

#以下配置项都是在 /etc/ssh/sshd_config 文件中修改。

1. 禁止 root 登录

PermitRootLogin no

当你启用这一选项后,你只能用普通用户登录,然后再用 su 或 sudo 切换到 root 帐户。

2. 仅允许指定用户和组登录

指定用户

AllowUsers ramesh john jason

指定组

AllowGroups sysadmin dba

3. 禁止指定的用户或组登录

指定用户

DenyUsers cvs apache jane

指定组

DenyGroups developers qa

注:Allow 和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups, AllowGroups

4. 修改 SSH 监听端口

把 SSH 监听端口改为 222

Port 222

5. 修改默认登录时间

当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。

LoginGraceTime 1m

 

6. 限制监听 IP

如果你的服务器上有多个网卡及 IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。

比如你有四个网卡

eth0 – 192.168.10.200
eth1 – 192.168.10.201
eth2 – 192.168.10.202
eth3 – 192.168.10.203

你只想让用户通过 202, 203 这两个 IP 来登录,那么做以下设定

ListenAddress 192.168.10.200
ListenAddress 192.168.10.202

7. 当用户处于非活动时断线

当用户在 10 分钟内处于非活动状态的话,就自动断线。

ClientAliveInterval 600
ClientAliveCountMax 0

ClientAliveCountMax:默认为 3 ,表示当 SSH 没有任何活动时, SSH Server 会发送三次检查是否在线(checkalive)的消息。
ClientAliveCountMax:默认为 0,表示当过了几秒后,SSH Server 会发送消息要求用户响应(0 的话表示永远不发送),否则就断线。

- 消息来源

加载中
0
G.
G.

为什么没有提到用 "密钥" 来登录呢?

关闭"密码"登录, 采用 "密钥", 可以增加一定程度上的安全性, 因为密钥非常难被破解.

0
马太航
马太航

指定IP ip绑定设备 设备绑定密码

0
G.
G.

引用来自#3楼“马太航”的帖子

指定IP ip绑定设备 设备绑定密码

ADSL的用户表示压力巨大...

0
ddatsh
ddatsh

密钥是最靠谱的

0
蟋蟀哥哥
蟋蟀哥哥

密钥丢了就好玩了

0
G.
G.

引用来自#6楼“gamespoerleveling”的帖子

密钥丢了就好玩了

打印下来, 用纸带打孔机...

哈哈.

0
ddatsh
ddatsh

丢了用密码登陆重新生成了放上去

0
Z
ZYud

密匙最好。

0
mark35
mark35

另外有个加快握手速度的:

UseDNS no

0
mark35
mark35

引用来自#8楼“dd”的帖子

丢了用密码登陆重新生成了放上去

 不用手动添加公钥,有个命令可以轻松复制公钥到远程主机上:

ssh-copy-id -i ~/.ssh/id_rsa.pub  user@remote-server

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 user@server"

返回顶部
顶部