1 我已经使用密钥身份验证配置了 Ubuntu 服务器,并且它运行良好。我已禁用密码身份验证以使密钥身份验证正常工作。始终通过远程终端或 putty 访问服务器。
现在所有用户帐户都可以使用身份验证密钥和密码登录。但现在我只想创建一个没有密钥身份验证的新用户。那么我该怎么做呢
但另一方面,这不应妨碍使用密钥认证的其他用户。
答案1
首先,允许密码验证sshd_config
并不妨碍使用密钥。两者可以共存而不会出现问题。
至于仅允许用户进行密码验证,您应该使用Match
组部分:
Match User foo
PasswordAuthentication yes
如果您的用户名为foo
。
答案2
我很好奇为什么在配置公钥身份验证时必须禁用密码身份验证。SSH 将在默认使用密码之前尝试所有其他身份验证机制。这允许您有选择地对某些帐户使用密钥,对其他帐户使用密码。
下面,您可以看到在输入密码之前尝试了 5 种不同的身份验证方法:
ssh -v test01
...
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_2078676' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_2078676' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Next authentication method: publickey
debug1: Offering public key: /home/skohrs/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/skohrs/.ssh/identity
debug1: Trying private key: /home/skohrs/.ssh/id_dsa
debug1: Next authentication method: password
skohrs@test01's password:
debug1: Authentication succeeded (password).
...