security - 为什么自动脚本首选公用 key 身份验证?

标签 security authentication ssh

我在Net::OpenSSH的文档中发现了以下要求:

Note that using password authentication in automated scripts is a very bad idea. When possible, you should use public key authentication instead.



在自动脚本中使用密码身份验证有何缺陷?

最佳答案

密码比私钥更容易猜测/强行使用(除非您正在运行Debian;)

假设您有一个运行120个不同自动脚本的用户帐户。如果您将密码硬编码到每个密码中,则现在有120个地方可以更改它。

如果将密码放入配置文件中,并且所有120个脚本迟早都会从文件中读取该密码,则有人会不小心使该文件世界可读。当私钥不是600时,ssh将不起作用。

有人可以决定更改用户密码,而无需考虑在某些脚本中将其硬编码的可能性。您更有可能在更改私钥之前停下来思考。

关于security - 为什么自动脚本首选公用 key 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518304/

相关文章:

javascript - AJAX 请求的安全性

shell - 如何使用 PowerShell 通过 SSH 传输安全密码?

javascript - CasperJS 使用 fill() 方法登录失败

javascript - SailsJS + PassportJS (sails-generate-auth) - 无法登录用户

text - 如何使用 Notepad++ 删除文本文件中的所有IP

ssh - 如何查看远程ubuntu服务器上正在运行哪些进程并杀死它们?

php - 通过Vagrant ssh调试控制台脚本

javascript - 我应该用 Mongoose 验证获取参数吗

java - 使用 Java 8 拒绝访问 ("java.net.SocketPermission"...)

android - 在 Android 应用程序中实现无密码方便登录的最佳方法? (客户端-服务器架构)