我如何设置像两个密码一样的两步验证?
在 Debian 7 上使用最新的 SSH。并且无需使用 Google 身份验证或类似的东西。
答案1
你要这个干什么?普通的 ssh 密钥验证应该就足够了。无论如何,如果你真的想这样做,一种方法是强制用户在连接时输入密码。有一个很好的答案在 Server Fault 上对此进行了解释。
基本方法是在连接时运行一个脚本,提示用户输入不同的密码。您可以使用文件ForceCommand
中的指令执行此操作ssh_config
。如中所述man sshd_config
:
ForceCommand
Forces the execution of the command specified by ForceCommand,
ignoring any command supplied by the client and ~/.ssh/rc if
present. The command is invoked by using the user's login shell
with the -c option. This applies to shell, command, or subsystem
execution. It is most useful inside a Match block. The command
originally supplied by the client is available in the
SSH_ORIGINAL_COMMAND environment variable. Specifying a command
of “internal-sftp” will force the use of an in-process sftp
server that requires no support files when used with
ChrootDirectory.
因此,如果您将其指向一个要求输入密码的脚本,并且如果未获得正确密码则终止连接,则您将设置两步验证。