这样配置 SSH 是否安全?

2018-06-04 14:39:38 +08:00
 e8c47a0d
在客户端生成 rsa 钥匙对(用默认的 2048 位),
不加 passphrase (假设自己丢掉私钥,比私钥泄漏的可能性大),
设置服务器 SSHD 的 PasswordAuthentication 为 yes (为了方便 ssh-copy-id ),
然后在客户端 ssh-copy-id 把公钥复制到服务器的 sudo 用户中,
root 用户有密码,但非常长( 10 位以上),
sudo 用户有密码,但只有三个字,比如 abc,
服务器设置 PermitRootLogin 为 no,PasswordAuthentication 为 no,
然后把端口从 22 改掉,
把私钥添加到客户端( ssh-add ),
平时在客户端用 ssh sudouser@ip -p 端口 来登录。
3953 次点击
所在节点    SSH
7 条回复
est
2018-06-04 14:40:38 +08:00
> sudo 用户有密码,但只有三个字,比如 abc,


那么 sudo 之后就可以改 root 密码了吧。。。
e8c47a0d
2018-06-04 14:44:00 +08:00
@est
嗯……而且可以改 sshd_conf 和 su root
不过前提是要登进 sudo 用户……主要担心这个
AntonChen
2018-06-04 15:33:39 +08:00
换端口,禁止 root、密码登录基本够用。之前还用 iptables 实现 ICMP 敲门(发送特定 ping 包才允许访问 SSH 端口),后来发现没什么大用去掉了。

我 sudo 配的 NOPASSWD

如果你想严格些还可以用 https://github.com/Ralnoc/pam-python 写两步验证
AntonChen
2018-06-04 15:39:22 +08:00
@AntonChen 关于 ICMP 敲门可以参考 https://delcoding.github.io/2017/12/iptables/ 注意配置定时任务清空 iptables 规则以防被关在外面。
boris1993
2018-06-04 16:34:48 +08:00
说下我的配置:
禁止 root 登录
禁止密码登录,也就是只允许证书登录
改掉 SSH 端口,不用 22

结果的话,日志里面扫 22 端口的,和猜测密码的,全部没有了
但是还要注意其他对外开放的服务的安全配置。我司一个 Docker 里面的没密码的 Redis 开放到公网(是的我已经吐槽过了),然后被日了。
nyaruko
2018-06-04 21:47:35 +08:00
禁止 root 登陆
密码和私钥均可,但是密码登陆需要谷歌验证器

目前我是这么配置的。
e8c47a0d
2018-08-08 13:37:21 +08:00
@nyaruko 仔细想想其实 root 登录确实没什么用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/460229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX