问题描述
我有一台没有root特权的服务器。这是一个跳转服务器,我们使用它来登录到其他各种网络设备。该服务器必须通过Citrix访问,因此不支持基于RSA密钥文件的身份验证。用于验证到网络节点的连接的TACACS服务器也是如此。
我的目标是确保每个会话仅提供一次网络节点的凭据(对于所有设备,从TACACS身份验证起,都是相同的)。我正在尝试编写一个使用主密码(由用户输入)来解锁加密的DB并将其全部内容存储在内存中的程序。
我有单独的程序,这些程序使用TACACS凭据自动登录到网络设备(路由器/交换机)。现在,为了进行测试,密码已经过硬编码,但在生产中,我希望这些登录脚本与DB Unlocker的内存/守护进程“对话”,并直接从内存中获取密码。
在阅读了几篇类似的文章之后,我开始相信,由于这些是独立的过程,所以我最好还是泡菜或网络套接字。 (Here,and here等)。这是我的计划-请查看并告知是否有更好的方法:
- 在每个“会话”开始时,用户使用其主密钥解锁其密码数据库。然后,“密码服务器”会在localhost上打开一个套接字,并在从数据库提供用户名时提供密码。
- 登录脚本将用户名发送到“服务器”,并使用收到的密码登录到网络节点。
- 为了使过程更安全,服务器和客户端(登录脚本)均使用预共享密钥(存储在配置文件中)对流量进行加密。这样,一个用户不会偶然查看另一用户的密码(因为下面的服务器由多个用户共享)。
希望下图可以画出更好的图片:
我有什么可以改善的吗?我不喜欢必须使用套接字在同一台计算机上传输数据的事实,但是无法想到更好/更简单的方法。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)