我有一个不太常见的情况,或对某些人来说很常见。我需要在数据库中存储一些密码。让我解释一下我真正需要的是什么。
我有一些服务器,我需要每天三次访问它们,全年无休地运行着SSH服务,并且我的软件每天都要请求访问每个服务器三次。好的,一切都按照我希望的方式正常工作,问题是,密码!如何管理所有密码!
今天我将所有服务器密码保存在脚本中(实际上运行SSH服务的相同脚本),因为我使用SSH2 PHP函数ssh2_auth_password()来验证服务器,但这是明文。
那么,对于这个函数ssh2_auth_pubkey_file(),我该如何使用它?
在自己的脚本中存储密码安全吗?我认为不是..
那么在这种情况下该怎么办呢?如果我将密码存储在数据库中,我将需要在每个服务器请求时检索密码(它由cron运行),然后如果它是哈希值,我可以将其与我的脚本中的另一个哈希值进行比较并返回明文以进行身份验证,但仍然是明文..(但我认为这还不是一个好的解决方案!)。
加密密码,然后在每个服务器请求时解密密码?也许是可能的..
有人有任何想法在这种情况下该怎么做吗?
我很困惑!
提前感谢您的帮助!
[编辑]
我的架构是Kernel Linux 2.6,大多数都是,SaaS应用程序运行在外部(中立服务器)上,CronJobs定期运行3次/天,一切都是通过命令行自动完成的,没有人为干预。
[再次编辑]
我应该在哪里生成密钥对?只需要一个密钥对就足够了吗?包括SaaS APP服务器在内的所有服务器?还是我需要逐个生成密钥对?有点困惑..
我有一些服务器,我需要每天三次访问它们,全年无休地运行着SSH服务,并且我的软件每天都要请求访问每个服务器三次。好的,一切都按照我希望的方式正常工作,问题是,密码!如何管理所有密码!
今天我将所有服务器密码保存在脚本中(实际上运行SSH服务的相同脚本),因为我使用SSH2 PHP函数ssh2_auth_password()来验证服务器,但这是明文。
那么,对于这个函数ssh2_auth_pubkey_file(),我该如何使用它?
在自己的脚本中存储密码安全吗?我认为不是..
那么在这种情况下该怎么办呢?如果我将密码存储在数据库中,我将需要在每个服务器请求时检索密码(它由cron运行),然后如果它是哈希值,我可以将其与我的脚本中的另一个哈希值进行比较并返回明文以进行身份验证,但仍然是明文..(但我认为这还不是一个好的解决方案!)。
加密密码,然后在每个服务器请求时解密密码?也许是可能的..
有人有任何想法在这种情况下该怎么做吗?
我很困惑!
提前感谢您的帮助!
[编辑]
我的架构是Kernel Linux 2.6,大多数都是,SaaS应用程序运行在外部(中立服务器)上,CronJobs定期运行3次/天,一切都是通过命令行自动完成的,没有人为干预。
[再次编辑]
我应该在哪里生成密钥对?只需要一个密钥对就足够了吗?包括SaaS APP服务器在内的所有服务器?还是我需要逐个生成密钥对?有点困惑..
CRON JOBS (fire servers) 3x/day
------------
| SaaS APP |________________________
________------------_______ |
| | | |
| | | |
----------- ----------- ----------- |
| SERVER1 | | SERVER2 | | SERVER3 | .... SERVER4 ....
----------- ----------- -----------
再次感谢!