存储 ssh 密码的最佳实践

存储 ssh 密码的最佳实践

我有一台运行某些脚本的 Ubuntu 服务器,应该通过 ssh 进入 Windows 服务器来执行数据。我正在使用 python 进行开发,并使用 paramiko 进行 ssh。

目前windows登录ssh密码都是以明文形式提供的。

有哪些好的方法来存储/检索密码,以便如果有人阅读代码,他们就无法轻易获取密码?

答案1

最佳做法是不要使用密码。您应该始终使用密钥进行身份验证。

但是,如果密码或密钥以明文形式写入某些代码中,则无法阻止其使用。尽管您可以很好地限制密钥的使用。在authorized_keys服务器上,您可以简单地指定允许密钥执行的命令,这将阻止拥有密钥的任何人访问 shell。

中的行示例~/.ssh/authorized_keys

no-port-forwarding,no-pty,no-X11-forwarding,command="your_limited_command" ssh-rsa AAAA[...]==

更详细的选项描述可以在手册页中找到sshd

相关内容