Answers:
您的链接指向过期10年的文档。
SSH支持多种验证用户身份的方法,最常见的一种方法是询问登录名和密码,但是您也可以验证用户的登录名和公共密钥。如果将PasswordAuthentication设置为no,则将不再能够使用登录名和密码进行身份验证,而必须使用登录名和公共密钥(如果PubkeyAuthentication设置为yes)。
请注意,PasswordAuthentication设置不控制所有基于密码的身份验证。ChallengeResponseAuthentication通常还要求输入密码。
PasswordAuthentication控件支持RFC-4252(第8节)中定义的“密码”身份验证方案。ChallengeResponseAuthentication控件支持RFC-4256中定义的“键盘交互”身份验证方案。从理论上讲,“键盘交互”身份验证方案可以向用户提出许多多问的问题。在实践中,它通常仅询问用户密码。
如果要完全禁用基于密码的身份验证,请将BOTH PasswordAuthentication和ChallengeResponseAuthentication都设置为“ no”。如果您是腰带式的,请考虑将UsePAM也设置为“ no”。
基于公钥/私钥的身份验证(由PubkeyAuthentication设置启用)是一种独立的身份验证类型,当然不涉及将用户密码发送到服务器。
有人会认为,使用ChallengeResponseAuthentication比PasswordAuthentication更安全,因为它很难自动化。因此,他们建议禁用密码认证,而启用挑战响应认证。此配置还鼓励(但不一定阻止)将公钥身份验证用于任何自动系统登录。但是,由于SSH是基于网络的协议,因此服务器无法保证坐在挑战键盘上的用户实际上提供对ChallengeResponseAuthentication(又称“键盘交互”)的响应,只要挑战始终并且仅包含询问用户密码。
UsePAM
……
PasswordAuthentication是最简单的实现,因为无需执行任何操作。相对的部分是您通过加密连接将密码发送到服务器。如果服务器受到攻击,这可能是一个安全问题,因为这样便可以捕获密码。
使用公钥,您的密码不会传输到服务器,虽然更安全,但需要更多设置。
您可以在使用键时将其设置为no ,或强制其使用。