soe*_*sen 5 authentication openssh
我正在使用 Ubuntu Server 13.04 并希望将 OpenSSH 用于 sftp。我已经设置好了一切,唯一不起作用的是双因素身份验证。目前它要求输入密码或公钥,但我需要它来要求输入密码和公钥。
看来 sshd_config 中有一个参数:
RequiredAuthentications{1,2}
Run Code Online (Sandbox Code Playgroud)
它在这里列出:linux.die.net
所以我将此行添加到 /etc/sshd_config
RequiredAuthentications2 publickey,password
Run Code Online (Sandbox Code Playgroud)
但是 sshd -t 总是会出现这个错误
/etc/ssh/sshd_config: line 26: Bad configuration option: RequiredAuthentications2
Run Code Online (Sandbox Code Playgroud)
我的 OpenSSH 版本是6.1.p1-4. 从这篇文章中,我认为它仅在 openssh-6.2 中可用:(最后一篇文章):bugzilla.mindrot.org
为了在另一台装有 Linux Mint 的计算机上进行测试,我尝试从源代码编译此版本,因为它不适用于 Ubuntu 稳定版。
我按照这些教程中的建议使用 auto-apt 做到了这一点
www.howtogeek.com -1
www.howtogeek.com -2
结果在 Linux Mint 计算机上是相同的。
所以我暂时被困住了。
PS:在其他地方我发现您可以使用第二个身份验证脚本,但我不确定这是否是一个好的和安全的解决方案。我想将服务器与 Windows 中的 WinSCP 或 Filezilla 等普通 ftp 程序一起使用。我不知道他们是否会理解这种身份验证方式。
soe*_*sen 10
我终于能够解决这个问题了。
从 opensshd 6.2 版开始,实际上有一个用于 2 因素身份验证的参数。而不是RequiredAuthentications它AuthenticationMethods。其参数是相同的。
由于 Ubuntu 6.2 版本中没有 deb 包,您必须自己编译它,但使用 auto-apt 真的很容易。