我想设置类似于双因素身份验证的功能,用于登录ssh server
,由OpenSSH
提供Linux
。
客户端系统将拥有SSH key
登录系统的私钥,如果私钥被泄露,则可能会被滥用。
服务器端还有另一种由企业提供的身份验证机制,通常的做法是客户端先使用此机制进行身份验证,然后单独登录 SFTP 服务器。危险的是,使用基于密钥的身份验证,客户端可以绕过上述身份验证机制并直接登录系统。
因此,我想设计一种机制,通过让服务器调用脚本或以某种方式检查SSH
,可以拒绝连接,以查看是否已执行第一种身份验证机制。第一种方法提供了这样一个接口,可以查询登录状态。但是,它不是基于时间令牌的身份验证,可以通过拥有来查询,并让客户端在 tty 或某个终端中输入获得的号码。它提供证书推送,应用程序可以查询是否已推送证书。证书确实像一个有时间限制的令牌,但不需要用户采取任何操作。应用程序在执行其业务逻辑之前,可以查询此令牌的状态,无论是从客户端推送还是以其他方式推送。SSH
keyboard-interactive
如果确实存在这样的机制,那么是否可以进一步针对用户进行隔离,即对于某些用户来说,这可能不是必需的......