针对linux登陆的sshd,很多人在使用ssh的安全策略的时候,使用ssh的密码策略,增加复杂度,数字,字母,特殊符号等组合在一起使用!或者使用白名单方式。然而根据我的使用经验,密码策略其实很不好,并且相对来说是存在风险的。白名单方式同样也带来风险。

我的建议是放弃使用白名单,放弃使用密码策略,使用密钥方式登陆:

sshd的端口一般默认是22,其实这个端口是有很大必要更改的,不更改的话,一旦发现被尝试登陆是避免不了的。

放弃密码策略的原因如下:

1、密码不管怎么组合,你认为这个密码已经很复杂了,别人猜不到了,或者字典里面没有该密码了,然而事实上弱口令并不是说1234,123456才是弱口令,只有该密码经常被使用,该密码才叫做弱口令。所以很可能你绞尽脑汁想出来的密码其实是个弱口令。

2、白名单方式这个就更加的坑嗲了,因为如果某一天你使用的白名单的地址,就是那个你所在公司的地址才能够登陆的,有一天你公司停电了,你公司的网络发生故障了,你公司的硬件故障了,然而恰巧的是客户那边说业务故障,需要你登陆上去处理,然后你会发现你没法子处理这个问题,因为远程的无数的服务器都需要从你公司的地址去登陆,你现在无法登陆,然后等你这边正常的时候,事故已经发生了好长好长时间,客户都将你从开始电话申报到骂,最后直接将你拉黑。

使用密钥原因如下:

1、密钥安全,这个不用多说了,生成密钥的时候,可以2048位,也可以对每个公钥进行备注,也可以对生成的密钥加密,任何使用该私钥的人都必须使用密码,防止了私钥丢失带来的风险。

2、新版的openssh默认在密码和密钥同时存在的时候,以密钥为主,可见开发openssh的人也认识到密钥比密码安全。