我正在运行带有 OpenSSH 版本 6.7 的 Debian Linux jessie。我在 中使用该AuthenticationMethods
指令/etc/ssh/sshd_config
。我知道这些字符串被识别AuthenticationMethods
:
keyboard-interactive
gssapi-with-mic
password
publickey
Run Code Online (Sandbox Code Playgroud)
在哪里可以找到可与 一起使用的所有有效字符串的列表AuthenticationMethods
?(这样的列表不在 的手册页中sshd_config
。)
没有办法通过网络 \xe2\x80\xa6 提前列出 OpenSSH 的所有活动身份验证方法 \xe2\x80\xa6 :您面临的挑战仅是第一个然后是下一个 \xe2\x80\xa6
\n这是一项安全功能。你要知道?看着那(这/etc/ssh/sshd_config
。哦,你可以\xe2\x80\x99t吗?\xe2\x80\x99 的安全设计。
因此,我将比官方 OpenSSL 文档所涵盖的内容进一步扩展该列表,因为我已经对 OpenSSH 进行了代码审查一段时间了。
\n可用的身份验证方法有:
\ngssapi-with-mic
“,hostbased
“,keyboard-interactive
“,none
”(用于在以下情况下访问无密码帐户:PermitEmptyPassword
”(启用password
“ 和publickey
“。AuthenticationMethods
指定必须成功完成才能授予用户访问权限的身份验证方法。此选项后面必须跟一个或多个以逗号分隔的身份验证方法名称列表,或者单个字符串any
以指示接受任何单一身份验证方法的默认行为。如果覆盖默认值,则成功的身份验证需要完成至少其中一个列表中的每一种方法。
例如,
\nAuthenticationMethods publickey,password publickey,keyboard-interactive\n
Run Code Online (Sandbox Code Playgroud)\n将要求用户完成公钥身份验证,然后是密码或键盘交互身份验证。每个阶段仅提供一个或多个列表中的下一个方法,因此对于此示例,不可能尝试password
或keyboard-interactive
在公钥之前
对于键盘交互式身份验证,\n还可以通过附加冒号后跟设备\n标识符来将身份验证限制到特定\n设备\nbsdauth
或pam
根据服务器\n配置来限制对特定\n设备的身份验证。例如,
AuthenticationMethods keyboard-interactive:bsdauth\n
Run Code Online (Sandbox Code Playgroud)\n将键盘交互身份验证限制为bsdauth
设备的键盘交互身份验证。
如果多次列出 publickey 方法,sshd(8)
请验证已成功使用的密钥是否不会重复用于后续身份验证。
例如,
\nAuthenticationMethods publickey,publickey\n
Run Code Online (Sandbox Code Playgroud)\n需要使用两个不同的公钥成功进行身份验证。
\n一个逗号(,
对身份验证选项的逗号 ( ) 分隔符首先在其任何空格分隔符之前一起尝试(AND 逻辑)。
单独
尝试分隔一个或多个身份验证选项(其选项可以用逗号连接)的空格 ( ) 分隔符(或逻辑)。
注意:冒号 ( :
) 分隔符用于将其附带的身份验证方法限制为特定的身份验证设备路径机制,例如pam
、bsdauth
和skey
。对于键盘交互式身份验证,还可以通过附加冒号后跟设备标识符bsdauth
、pam
或 来将身份验证限制为特定设备skey
,具体取决于服务器配置。例如,keyboard-interactive:bsdauth
将限制键盘\n对bsdauth
设备的交互式身份验证。
请注意,none
中列出的每个身份验证选项(除 )AuthenticationMethods
还应在配置中显式启用其相应的配置设置。例如,如果pubkey
在设置中使用了选项AuthenticationMethods
,那么它\xe2\x80\x99s伴随的配置行PubkeyAuthentication on
也必须在其配置文件中。
any
”。 归档时间: |
|
查看次数: |
16245 次 |
最近记录: |