![使用 SSH 隧道仅允许访问某些移动设备](https://linux22.com/image/777648/%E4%BD%BF%E7%94%A8%20SSH%20%E9%9A%A7%E9%81%93%E4%BB%85%E5%85%81%E8%AE%B8%E8%AE%BF%E9%97%AE%E6%9F%90%E4%BA%9B%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87.png)
我需要一种方法,让我们的应用程序将数据从手机发送到服务器和数据库,只允许某些移动设备接受数据。我搜索了 IP 过滤,但手机的 IP 地址一直在变化。而 MAC 地址过滤并不那么安全。人们推荐 SSH 隧道,但我只能找到桌面场景,而找不到移动场景
答案1
我不太确定是谁告诉你使用 SSH 隧道的。如果你要连接两台服务器,或者连接你控制的客户端和服务器,那这很实用。
目前唯一可行的方法是让客户连接到您的服务器。服务器生成一个唯一的会话标识符(例如 UUID,它必须足够大并且尽可能随机以确保安全)并将其发送到用户的手机。这通常称为 cookie。
然后,每次手机想要访问您的服务器时,它都会发送该 cookie,以将该手机标识为允许的用户。
当然,所有通信都必须加密(TLS 1.2 或更高版本)。
请注意,还有 VPN。这类似于 SSH,但会打开一个连接,其他安全连接可以通过该连接进行模式控制。这实际上取决于您的应用程序。我个人不推荐 VPN,因为它增加了另一层,很可能会失败以奇怪的方式(即,您的应用程序的其余部分不会确切知道无法连接、接收数据等的原因)。