102
WuSiYu 3 天前 这楼给我越看越迷惑了
首先无论你是用密码还是公私钥,只是认证方式的区别,ssh 本身通信都是走的非对称加密 有一个区别是私钥永远不会离开你的电脑,而密码登录时服务器能拿到你的密码明文,但除非 1.服务器本身被攻陷,或者 2.你首次连接的就是中间人攻击的假服务器,否则也没什么安全问题:ssh 的通信本身是非对称加密的,捕获流量无法解密你的密码,被中间人攻击时也会因为和.ssh/known_hosts 里存过的 key 不一致而报错 剩下的就是密码强度问题了,理论上你的用足够长的随机字符密码也是安全的,但 16 位依然弱一些,并且如果不是纯随机密码还会导致强度进一步下降。而记住一个足够长还足够随机的密码可比配一下公私钥麻烦多了,还有就是私钥本身也是可以再加密码的 |
103
yazinnnn0 2 天前
当然是每台电脑上的私钥都不一样了
|
104
tool2dx 2 天前
我一直用强密码+改端口, 就是图省事. 有 fail2ban 存在, 我并不担心密码被暴力穷举, 未来不好说, 现阶段挺安全的.
|
105
laydown 2 天前
如果只用密钥登录的方式,我换一台不熟悉的电脑的话,是不是就很不方便了?不知道大家是怎么解决的呢?
|
106
z7356995 2 天前 via Android
输入 16 位密码也麻烦呀,密钥配置好后就直接登录了
|
108
restkhz 2 天前 楼上的一些 v2er ,我只是提醒一下,
不管是 TLS 还是 SSH 都不是非对加密 这也不是对称加密和非对称加密的区别,而是利用公钥密码学的另一种身份验证方法。 这里无论你是 RSA 还是 ed25519 ,还是 OP 的 16 位密码,都只是在做身份验证而已。 通信加密早就完成了。而且用的是对称加密。和上面说的 RSA, 16 位密码都没有关系。 “非对称加密”这个词本身就有误导性。实际上 RSA 很少用于加密通讯内容,PGP 都没有用 RSA 加密邮件内容。而 ed25519 甚至本身就不具备任何加密解密能力。 验证身份本身就有很多方法,无论你是密码,公钥,还是 TOTP ,都在不同场景有不同的优势。 我觉得 OP 问的问题是好问题。他的确有好的理由质疑,而且发表质疑需要勇气。 |
109
esee 2 天前
你自己设置的密码是毫无语义的话那你怎么记住,你能记住的密码大概率是有语义的那能被爆破或者撞库的可能性就高很多。如果你能做到毫无语义,密码只在该服务器使用不会在其他站点第三方使用一样的,那我觉得你说的也可行,至于评论区那些说 20 位的 和 1000 位密码的 破解强度不一样,那也没错,但是穷举 20 位包括大小写数字符号 的 如果要上百年,穷举 1000 位的要上亿年,那对于一个人的生命长度来说其实也没啥区别
|
111
est 1 天前
@WuSiYu 其实有一点我也是今天问了 AI 才知道的。。ssh 和 tls 似乎不太一样。。那个非对称的 key 不是拿来加密的。。。。ssh 的握手跟你是否有 key 无关。
|
112
ryd994 1 天前 via Android
|
113
restkhz 10 小时 26 分钟前 @est 看你博客很久了:)
其实 TLS 也不用非对称的 key 加密,只是验证身份。通信都用对称加密比如 chacha20, aes 这类对称加密。因为能用 DH 做密钥交换,DH 密钥交换确定的密钥经过处理后才作为通信时对称加密的 key. TLS1.2 有用过 RSA 做过密钥交换(加密传递生成密钥的参数)但是不够安全,几乎不用。 RSA 其实问题很多,上面这种情况没 PFS,而且 RSA 加密消息长度很有限,计算还慢,还有 Bleichenbacher 问题。 我上一个回复说到的 PGP 中其实 RSA 负责的是身份验证,和密钥传递。密钥?什么密钥?对称加密的密钥。邮件到底还是 AES 这类对称加密的。 TLS1.2 密钥交换时同时服务器发证书,证书不对,直接放弃握手,密钥还没协商完。 TLS1.3 更像 SSH ,先加密再发证书。只不过为了效率尽可能减少了来回通信,而且因为证书被加密就不怕证书 SNI 泄漏问题。 但是 TLS 和 SSH 依旧是两码事。 在上述所有场景中,公钥密码学仅仅是为了身份验证,为了防止 MITM, 而且几乎不参与加密。 |