我有一个FreeBSD服务器,我喜欢能够从任何地方到达。 通常情况下,我使用SSH公钥来login,或者如果我没有我的SSH私钥可用,那么我可以使用SSH上的常规密码。 但是,当从不可信的机器login时,键盘logging程序在我键入密码时总是会捕获我的login密码。
FreeBSD已经支持OPIE ,这是一次性密码scheme。 这很好,但一次性密码是唯一需要的authentication。 如果我打印出一个一次性密码列表供以后使用,那么如果我失去了这个列表,那么这就是所有人都需要的。
我想设置身份validation,以便我需要一个一次性密码加我知道的东西(密码,除了不是我平常的login密码)。 我有一个感觉,答案与PAM (和/etc/pam.d/sshd )有关,但我不确定的细节。
如何在需要两种方法的情况下设置身份validation?
谷歌authenticator也许? 我有我的OpenSolaris框首先要求正常的login密码,然后是TOTPvalidation码。 像这样的东西: http : //www.marzocchi.net/Olafsen/Software/Two-FactorAuthentication
要做到这一点,你必须使用'required'控制标志将普通'ssh_auth'模块与'pam_opie'模块进行堆栈。