1
kaedeair 319 天前 1
在某个版本的 openssl 以后默认禁用了 rsa ,使用椭圆加密试试?
|
2
sleepingdog OP @kaedeair #1 你说起这个忽然想起,之前我用的旧版本 xshell4 ,ssh 登录新版 ubuntu 似乎就出现类似的问题,查了下说是要新版的 xshell 才能解决
所以后来 ssh 都是直接用 cmd 凑合下。 |
3
ferock 319 天前 via iPhone 1
干嘛不用 id copy … 不就好了
|
4
pubby 319 天前 1
如果是客户端 openssh8.8 以后的,默认不使用 rsa 的
试试强制 rsa ssh -o "HostKeyAlgorithms +ssh-rsa" -o "PubkeyAcceptedKeyTypes +ssh-rsa" .... |
5
om2mo 319 天前 1
RSA 密钥已弃用
|
6
sleepingdog OP |
7
sleepingdog OP @ferock #3 不太理解你说的“id copy”是什么。。。
|
8
sleepingdog OP 还有 ubuntu 上的是
OpenSSH_8.9p1 Ubuntu-3ubuntu0.6, OpenSSL 3.0.2 15 Mar 2022 我好几次测试的确是在 ubuntu 上的,看来有可能是这里的锅 |
9
Thatscode99 319 天前 via iPhone 1
|
10
mipaers 319 天前 1
PermitRootLogin 不会关了吧 上次我就是这样 直接嗝屁
|
11
charley008 318 天前 1
我的 dsm7.2 用的是 ed25519 还有 ecdsa ,没有出现你的情况
|
12
mingl0280 318 天前 via Android 1
rsa-1024 (搭配 SHA1 签名的)已弃用,不是 rsa 整个。现在用 rsa 是一样的。
你可以 ssh -vvvv 看看是什么原因,sshd 的日志(/var/log/auth )也可以看看。我这边群晖 7.几的机器,搭配 SSH2 用 RSA-4096 密钥毫无问题 |
13
sleepingdog OP @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 // 禁用普通用户名密码验证 |
14
sleepingdog OP 问题又来了——这次轮到 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 两个私钥都保留下来算了 |
15
qingshengwen 318 天前
@sleepingdog #7 3 楼估计说的是 ssh-copy-id 命令
|
16
sleepingdog OP @qingshengwen #15 是的。
我看了下 9 楼的链接,试了试发现该命令似乎不是自带的 |
17
Autonomous 311 天前
建议使用 ECC 证书。
另外,一定要确保配置正确,测试通过之后再执行 ``` PasswordAuthentication no PermitEmptyPasswords no ``` |