首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  SSH

这样配置 SSH 是否安全?

  •  
  •   e8c47a0d · 2018-06-04 14:39:38 +08:00 · 1392 次点击
    这是一个创建于 527 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在客户端生成 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 [email protected] -p 端口 来登录。
    7 回复  |  直到 2018-08-08 13:37:21 +08:00
        1
    est   2018-06-04 14:40:38 +08:00   ♥ 1
    > sudo 用户有密码,但只有三个字,比如 abc,


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

    我 sudo 配的 NOPASSWD

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

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

    目前我是这么配置的。
        7
    e8c47a0d   2018-08-08 13:37:21 +08:00
    @nyaruko 仔细想想其实 root 登录确实没什么用。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   942 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 21:55 · PVG 05:55 · LAX 13:55 · JFK 16:55
    ♥ Do have faith in what you're doing.