Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是在不同python进程之间安全共享数据的最佳方式吗?_Python_Sockets_Ipc - Fatal编程技术网

这是在不同python进程之间安全共享数据的最佳方式吗?

这是在不同python进程之间安全共享数据的最佳方式吗?,python,sockets,ipc,Python,Sockets,Ipc,我有一个没有root权限的服务器。这是一个跳转服务器,我们使用它登录到各种其他网络设备。此服务器必须通过Citrix访问,因此不支持基于RSA密钥文件的身份验证。用于验证网络节点连接的TACACS服务器也是如此 我的目标是确保每个会话只需为网络节点提供一次CRED(对于所有设备都一样,因为TACACS auth)。我正在尝试编写一个程序,使用主密码(由用户输入)解锁加密的数据库,并将其全部内容存储在内存中 我有单独的程序,可以使用TACACS creds自动登录到网络设备(路由器/交换机)。现在

我有一个没有root权限的服务器。这是一个跳转服务器,我们使用它登录到各种其他网络设备。此服务器必须通过Citrix访问,因此不支持基于RSA密钥文件的身份验证。用于验证网络节点连接的TACACS服务器也是如此

我的目标是确保每个会话只需为网络节点提供一次CRED(对于所有设备都一样,因为TACACS auth)。我正在尝试编写一个程序,使用主密码(由用户输入)解锁加密的数据库,并将其全部内容存储在内存中

我有单独的程序,可以使用TACACS creds自动登录到网络设备(路由器/交换机)。现在,为了进行测试,密码是硬编码的,但在prod中,我希望这些登录脚本与DB unlocker的内存/守护进程“对话”,并直接从内存获取密码

在阅读了几篇类似的文章后,我开始相信,由于这些都是独立的进程,所以pickle或网络套接字是我最大的希望。(除其他外)。这是我的计划--请检查并让我知道是否有更好的方法:


  • 在每个“会话”开始时,用户使用其主密钥解锁其密码数据库。然后,“密码服务器”在本地主机上打开一个套接字,当数据库提供用户名时,会用密码回复
  • 登录脚本将用户名发送到“服务器”,并使用收到的密码登录到网络节点
  • 为了使流程更加安全,服务器和客户端(登录脚本)都使用预共享密钥(存储在配置文件中)对其流量进行加密。这样,一个用户就不会意外地查看另一个用户的密码(因为下面的服务器由多个用户共享)
  • 希望下图能描绘出更好的画面:

    有什么可以改进的吗?我不喜欢必须使用套接字在同一台机器上传输数据,但想不出更好/更简单的方法