群晖 ssh 用 RSA 登录失败 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
sleepingdog
V2EX    NAS

群晖 ssh 用 RSA 登录失败

  •  
  •   sleepingdo 2024-01-28 13:51:56 +08:00 2320 次点击
    这是一个创建于 688 天前的主题,其中的信息可能已经有所发展或是发生改变。
    日志提示
    User from * failed to log in via [SSH] due to authorization

    我用 win 电脑上的 ssh-keygen 生成了两个文件,id_rsa 和 id_rsa.pub 。
    主路由是 openwrt ,把 id_rsa.pub 拖了过去。在 win 上和 linux 上都测试了下,可以

    于是把这个 id_rsa.pub 复制到群晖那边去。它稍微麻烦点,UI 界面只有一个 ssh 的开关,没有像 op 那么方便。只能在命令行上操作
    大概参考了这个教程
    https://post.smzdm.com/p/avx742o4/

    它主要是这几个步骤
    复制 id_rsa.pub 里面的内容到 ~/.ssh/authorized_keys (我是 vim 一个 authorized_keys ,再复制 id_rsa.pub 的内容)

    几个文件和目录的的权限
    chmod 755 ~
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh

    修改 sshd_config 文件
    sudo vim /etc/ssh/sshd_config

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

    PasswordAuthentication no // 禁用普通用户名密码验证

    第一句话 RSAAuthentication yes ,我的群晖似乎没有这句,手动加上去了
    第四句话,直接导致 ssh 登录不了群晖( win 端和 linux 端的都不行)。重启也没用。看了下群晖的日志,是帖子最开始的那句话。
    一时头大没有 ssh 命令行,变成在网页端操作,那延迟,那反应。。。。
    感觉像在家里修门,门修好了关上,结果发现没有钥匙。。
    幸好还有另外一个门telnet ,从网页控制台那里开一下。。。

    最后折腾半天,暂时又改了回去,先换个端口看看。

    我在 win 上创建 id_rsa 的时候,还输入了一个密码(好像叫 passphrase ),不知道和这个有没关系(似乎不少人为了方便,这里也不输密码)
    想问下到底是哪里出了问题为什么很相似的操作,op 可以,群晖却不行?
    群晖是 dsm6.23 的版本

    PS,没开公网,只是在群晖和 openwrt 上都装了个 zerotier 。感觉以后这个网络设备可能会越来越多,所以还是考虑下安全性
    17 条回复    2024-02-05 15:02:47 +08:00
    kaedeair
        1
    kaedeair  
       2024-01-28 14:33:57 +08:00   1
    在某个版本的 openssl 以后默认禁用了 rsa ,使用椭圆加密试试?
    sleepingdog
        2
    sleepingdog  
    OP
       2024-01-28 14:39:47 +08:00
    @kaedeair #1 你说起这个忽然想起,之前我用的旧版本 xshell4 ,ssh 登录新版 ubuntu 似乎就出现类似的问题,查了下说是要新版的 xshell 才能解决

    所以后来 ssh 都是直接用 cmd 凑合下。
    ferock
        3
    ferock  
    PRO
       2024-01-28 15:15:48 +08:00 via iPhone   1
    干嘛不用 id copy … 不就好了
    pubby
        4
    pubby  
       2024-01-28 17:27:17 +08:00   1
    如果是客户端 openssh8.8 以后的,默认不使用 rsa 的

    试试强制 rsa

    ssh -o "HostKeyAlgorithms +ssh-rsa" -o "PubkeyAcceptedKeyTypes +ssh-rsa" ....
    om2mo
        5
    om2mo  
       2024-01-28 17:48:37 +08:00   1
    RSA 密钥已弃用
    sleepingdog
        6
    sleepingdog  
    OP
       2024-01-28 18:26:30 +08:00
    @om2mo #5
    @pubby #4
    @kaede
    我在三台设备上分别使用 ssh -V

    win 的是
    OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2air #1
    群晖的是
    OpenSSH_7.4p1, OpenSSL 1.0.2u-fips 20 Dec 2019

    openwrt 的是
    Dropbear v2020.81
    sleepingdog
        7
    sleepingdog  
    OP
       2024-01-28 18:28:17 +08:00
    @ferock #3 不太理解你说的“id copy”是什么。。。
    sleepingdog
        8
    sleepingdog  
    OP
       2024-01-28 18:30:37 +08:00
    还有 ubuntu 上的是
    OpenSSH_8.9p1 Ubuntu-3ubuntu0.6, OpenSSL 3.0.2 15 Mar 2022

    我好几次测试的确是在 ubuntu 上的,看来有可能是这里的锅
    Thatscode99
        9
    Thatscode99  
       2024-01-28 18:43:52 +08:00 via iPhone   1
    mipaers
        10
    mipaers  
       2024-01-28 19:36:22 +08:00   1
    PermitRootLogin 不会关了吧 上次我就是这样 直接嗝屁
    charley008
        11
    charley008  
       2024-01-28 20:32:45 +08:00   1
    我的 dsm7.2 用的是 ed25519 还有 ecdsa ,没有出现你的情况
    mingl0280
        12
    mingl0280  
       2024-01-29 03:42:38 +08:00 via Android   1
    rsa-1024 (搭配 SHA1 签名的)已弃用,不是 rsa 整个。现在用 rsa 是一样的。
    你可以 ssh -vvvv 看看是什么原因,sshd 的日志(/var/log/auth )也可以看看。我这边群晖 7.几的机器,搭配 SSH2 用 RSA-4096 密钥毫无问题
    sleepingdog
        13
    sleepingdog  
    OP
       2024-01-29 12:48:11 +08:00
    @mingl0280 #12
    @Thatscode99 #9
    @mipaers #10
    @charley008 #11
    感谢各位~使用 ECDSA 密钥测试 ok 了

    我在 win 上生成 ECDSA
    ssh-keygen -t ECDSA
    然后把 id_ecdsa.pub 里面的内容复制到到 nas 上的 ~/.ssh/authorized_keys ,重启 ssh 服务,直接测试就成功了

    测试成功后再根据需要/etc/ssh/sshd_config 的修改教程里的第四句话(我这里发现第 1 ~ 3 句都没必要改,使用 nas 原来的就行了)
    PasswordAuthentication no // 禁用普通用户名密码验证
    sleepingdog
        14
    sleepingdog  
    OP
       2024-01-29 12:59:53 +08:00
    问题又来了这次轮到 openrt 不支持 ecdsa
    问了下 GPT ,


    远程登录 openwrt 可以使用 ECDSA 么?
    ChatGPT
    通常情况下,OpenWrt 支持使用 ECDSA 密钥进行远程登录。SSH 密钥的支持主要依赖于所使用的 SSH 服务器版本以及相关的配置。在 OpenWrt 中,默认的 SSH 服务器是 Dropbear 或者可以选择安装 OpenSSH 。

    如果你使用的是 Dropbear SSH 服务器,它对 ECDSA 密钥的支持可能会有限。在这种情况下,你可能需要安装 OpenSSH ,并根据需要配置。

    如果你使用的是 OpenSSH ,它通常默认支持 ECDSA 密钥。你可以使用 ssh-keygen 生成 ECDSA 密钥对,并将公钥复制到 OpenWrt 的~/.ssh/authorized_keys 文件中,以实现基于 ECDSA 密钥的远程登录。

    请注意,确保你的 SSH 客户端也支持 ECDSA 密钥。大多数现代的 SSH 客户端都支持 ECDSA 密钥,但在一些旧版本或特殊环境中可能需要配置。

    在使用 ECDSA 密钥时,请确保你在远程登录时提供了正确的私钥,并且 OpenWrt 的 SSH 服务器配置正确,以允许使用 ECDSA 密钥进行认证。


    看来 rsa 和 ecdsa 两个私钥都保留下来算了
    qingshengwen
        15
    qingshengwen  
       2024-01-29 16:59:15 +08:00
    @sleepingdog #7 3 楼估计说的是 ssh-copy-id 命令
    sleepingdog
        16
    sleepingdog  
    OP
       2024-01-30 17:05:24 +08:00
    @qingshengwen #15 是的。
    我看了下 9 楼的链接,试了试发现该命令似乎不是自带的
    Autonomous
        17
    Autonomous  
       2024-02-05 15:02:47 +08:00
    建议使用 ECC 证书。

    另外,一定要确保配置正确,测试通过之后再执行
    ```
    PasswordAuthentication no
    PermitEmptyPasswords no
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5278 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 01:33 PVG 09:33 LAX 17:33 JFK 20:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86