ssh 中间人攻击,假如第一次连接就被中间人攻击了怎么办?

2019-06-26 10:47:26 +08:00
 rebeccaMyKid

假设:

在某云买了个 VPS,第一次 ssh login 就是中间人攻击,你信任了这个 fingerprint,那不就完了。

最正确的姿势是怎样的?

是先通过 https 那个叫什么 VNC 的东西,连接到 VPS,计算 public key fingerprint,然后本地首次连接的时候进行比对吗?

我记得我看一个视频的时候,好像还有说什么 VPS 服务商有的时候会 email 你,你购买的服务器的 public key fingerprint,这个好像可行但我从来没收到过这种东西。

2541 次点击
所在节点    问与答
12 条回复
LxExExl
2019-06-26 10:56:08 +08:00
普通上网要一路北上验证到根证书的吧?

不太懂和 VPS 有什么关系 连接 VPS 不是直接连接 IP 地址吗
0ZXYDDu796nVCFxq
2019-06-26 10:59:41 +08:00
登录后马上运行 w 看下来源 IP
0ZXYDDu796nVCFxq
2019-06-26 11:00:14 +08:00
然后看收到的指纹和机器上的指纹
0ZXYDDu796nVCFxq
2019-06-26 11:01:29 +08:00
另外中间人是很难知道你是第一次连的,所以中间人暴露的可能性很大
rebeccaMyKid
2019-06-26 11:28:26 +08:00
@gstqc 那这么说还是得先去机器上把指纹记下来嘛
lululau
2019-06-26 12:04:03 +08:00
楼主自己回答正确;指纹不是要你确认的吗,那什么叫确认啊?怎么确认啊?
0ZXYDDu796nVCFxq
2019-06-26 12:47:38 +08:00
@rebeccaMyKid 所以建议用公私钥登录
部署时直接部署公钥
alphatoad
2019-06-26 13:31:03 +08:00
你说的是对的
ssh 不是中心化认证,所以默认第一次连接有效。这是一个 tradeoff
wysnylc
2019-06-26 14:36:46 +08:00
百度 https 中间人攻击
原理是因为 https 使用非对称加密但是密钥(证书)交换时实际上是对称加密,是可以劫持的
世界上没有绝对的安全,也没有银弹程序
rebeccaMyKid
2019-06-26 15:54:57 +08:00
@gstqc 这跟登录方式没关系吧。。你要搞公钥私钥登录也得先能登录到你确定是真的目的主机上。

问了个前辈,说是一般不会被中间人,怕就 https 那个 VNC 上去算指纹先。
lcdtyph
2019-06-26 17:03:47 +08:00
lz 说的对,正确的方法就是先从 vps 商家提供的网页控制台登陆,然后运行(注意最后的'-')

ssh-keyscan host | ssh-keygen -lf -

把所有指纹打印出来,再进行第一次 ssh 握手,比对指纹
julyclyde
2019-06-27 17:34:46 +08:00
第一次如果被中间人了,你就忍了吧

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

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

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

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

© 2021 V2EX