假设:
在某云买了个 VPS,第一次 ssh login 就是中间人攻击,你信任了这个 fingerprint,那不就完了。
最正确的姿势是怎样的?
是先通过 https 那个叫什么 VNC 的东西,连接到 VPS,计算 public key fingerprint,然后本地首次连接的时候进行比对吗?
我记得我看一个视频的时候,好像还有说什么 VPS 服务商有的时候会 email 你,你购买的服务器的 public key fingerprint,这个好像可行但我从来没收到过这种东西。
1
LxExExl 2019-06-26 10:56:08 +08:00
普通上网要一路北上验证到根证书的吧?
不太懂和 VPS 有什么关系 连接 VPS 不是直接连接 IP 地址吗 |
2
0ZXYDDu796nVCFxq 2019-06-26 10:59:41 +08:00 via Android
登录后马上运行 w 看下来源 IP
|
3
0ZXYDDu796nVCFxq 2019-06-26 11:00:14 +08:00 via Android
然后看收到的指纹和机器上的指纹
|
4
0ZXYDDu796nVCFxq 2019-06-26 11:01:29 +08:00 via Android
另外中间人是很难知道你是第一次连的,所以中间人暴露的可能性很大
|
5
rebeccaMyKid OP @gstqc 那这么说还是得先去机器上把指纹记下来嘛
|
6
lululau 2019-06-26 12:04:03 +08:00
楼主自己回答正确;指纹不是要你确认的吗,那什么叫确认啊?怎么确认啊?
|
7
0ZXYDDu796nVCFxq 2019-06-26 12:47:38 +08:00 via Android
@rebeccaMyKid 所以建议用公私钥登录
部署时直接部署公钥 |
8
alphatoad 2019-06-26 13:31:03 +08:00 via iPhone
你说的是对的
ssh 不是中心化认证,所以默认第一次连接有效。这是一个 tradeoff |
9
wysnylc 2019-06-26 14:36:46 +08:00
百度 https 中间人攻击
原理是因为 https 使用非对称加密但是密钥(证书)交换时实际上是对称加密,是可以劫持的 世界上没有绝对的安全,也没有银弹程序 |
10
rebeccaMyKid OP |
11
lcdtyph 2019-06-26 17:03:47 +08:00 via iPhone 1
lz 说的对,正确的方法就是先从 vps 商家提供的网页控制台登陆,然后运行(注意最后的'-')
ssh-keyscan host | ssh-keygen -lf - 把所有指纹打印出来,再进行第一次 ssh 握手,比对指纹 |
12
julyclyde 2019-06-27 17:34:46 +08:00
第一次如果被中间人了,你就忍了吧
|