我认为这个问题的答案是“否”,但我想有一些替代方法可以实现这一目标。
我想要做的是添加第二个甚至更强的密码,以便当我从外部使用 ssh 登录时使用。 (来自我的私人网络之外。)
是否有可能做到这一点?
我设想这样的事情; iptables 中的某种选项要求用户输入密码才能通过端口 22 转发来自外部源的流量。例如,我不知道 iptables 中有任何此类功能,并且我认为这是不可能的,因为 iptables根据 ip 数据包的标头做出路由决策,而 ssh 信息包含在 ip/tcp 标头内的加密数据有效负载内。
想必类似的东西被用在企业级设备和组织中?
双因素身份验证怎么样,是否可以作为替代方案?
抱歉,这个问题有点模糊/不集中,我在这方面毫无经验。
答案1
最佳实践:使用基于密钥的身份验证,禁用基于密码的身份验证。
确保 SSH 守护程序安全的最佳密码方法是完全禁用密码身份验证并强制使用基于密钥的身份验证。
这在很大程度上被认为更安全,并且不再需要通过密码进行保护。
当然,在禁用基于密码的登录之前,请先创建密钥并尝试通过密钥登录!
文档:SSH.com:基于密钥的身份验证 Digital Ocean:基于 ssh 密钥的身份验证
一般 SSH 强化技巧:网络城 Jason Rigden(包括 2FA) 安全路线