我为公司的员工开发了一个JavaFx 桌面程序。现在,他们想在家里用自己的个人电脑使用该程序。该程序有MySQL 和 FTP 服务。
我需要使用SSH 隧道或VPN以便程序可以从外部连接到办公室的远程服务器(FTP 和 MySQL 的端口转发)。
如果我想使用 SSH 隧道,我必须在自己员工的计算机中安装(或复制/粘贴)证书,我认为这个选项很危险,因为证书可能会被用来攻击他们的计算机。
有时我想为每个员工(100 人)创建一个证书,以更好地控制每次连接的人员,但维护起来太费力了。
我想使用 SSH 隧道,但我不知道在这种情况下是否是最佳选择。
我可以使用哪些其他选项将我的程序安全地连接到远程服务器?
没有很多协议选择 - 无论您选择什么都需要:
您可以使用 SSH,但设置 VPN 是大多数企业所做的(根据我的经验)。然后,您只能允许 VPN 连接通过防火墙,无需更改任何其他内容。
您最好的选择是研究小型企业 VPN 设备。在这里快速搜索会出现很多(离题)帖子,要求提供建议。
长话短说,无论您使用什么,您都必须为每位员工创建和颁发证书或密钥。唯一明智的方法是使用脚本或管理工具。
正如您所提到的,我将使用生成的公钥/私钥 rsa 密钥对中的私钥授权员工,以便通过 ssh 连接到办公室服务器。您可以将公钥存储在 ~/.ssh/authorized_keys 中,并使用密码保护私钥,以便员工可以连接到服务器。但是您必须在防火墙中为外部打开 ssh 端口。