如何允许任何人通过 SSH 访问程序

如何允许任何人通过 SSH 访问程序

.ssh/authorized_keys文件可用于启用无密码登录。与该command选项结合使用,它可用于将此类登录限制为给定的命令。例如:

command="gitosis-serve joey@dulcimer",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-dss AAA...

这意味着如果我有与此公钥相对应的私钥,我就可以无需密码登录,但我所能做的就是执行gitosis-serve joey@dulcimer

我如何允许任何人登录,但又有类似的限制?

思路:

  • 只需托管一个 telnet 服务器。问题是,它没有加密。

  • 设置一个简单的密码(例如password)。这样可以,但我该如何设置command等?

  • 在 中分发与公钥相对应的私钥authorized_keys。这可行,但我怀疑它是否安全。Mallory 不能使用私钥解密在握手期间发送给 Alice 的数据吗?

答案1

实现此目的的标准方法是公开分发私钥。我看到它在“过去”被广泛使用,当时人们不想处理匿名 pserver CVS 访问的恐怖。它并不像您所说的那样不安全,因为 SSH 不会将客户端的密钥对用于除身份验证之外的任何其他用途;对于实际的流量加密,将协商会话密钥并将其用于保护通信。

答案2

创建一个用户组,并提供单独的用户名和密码以使用 ssh 访问。
发布私钥不是一件好事。
或者,如果您可以创建一个包含私钥和公钥的 python 脚本来登录 SSH 并分发编译后的版本(ssh_login.pyc 或任何其他类似语言),希望它能正常工作。

相关内容