ssh服务器中的Loggin:权限被拒绝,请重试


9

我试图使用用户名和密码登录到ssh服务器,但是输入正确的密码后出现此错误:

Permission denied, please try again.

可以使用另一台计算机上的pubkey登录,但是我尚未禁用常规密码验证。我唯一禁用的是root登录。

这是我的sshd_config文件:

#软件包生成的配置文件
#有关详细信息,请参见sshd_config(5)联机帮助页

#我们侦听哪些端口,IP和协议
港口22
#使用这些选项来限制sshd绑定到哪些接口/协议
#ListenAddress ::
#ListenAddress 0.0.0.0
协议2
#协议版本2的HostKeys
主机密钥/ etc / ssh / ssh_host_rsa_key
主机密钥/ etc / ssh / ssh_host_dsa_key
主机密钥/ etc / ssh / ssh_host_ecdsa_key
#特权分离已启用以确保安全
UsePrivilegeSeparation是

#临时版本1服务器密钥的生存期和大小
密钥更新间隔3600
第768章

#记录
SyslogFacility AUTH
日志级别信息

#身份验证:
LoginGraceTime 120
许可RootLogin no
StrictModes是

RSAAuthentication是
PubkeyAuthentication是
#AuthorizedKeysFile%h / .ssh / authorized_keys

#不要读取用户的〜/ .rhosts和〜/ .shosts文件
IgnoreRhosts是
#为此,您还需要/ etc / ssh_known_hosts中的主机密钥

RhostsRSA身份验证
#与协议版本2类似
基于主机的身份验证
#如果不信任Rhosts的〜/ .ssh / known_hosts,请取消注释
#IgnoreUserKnownHosts是

#要启用空密码,请更改为“是(不推荐)”
PermitEmptyPasswords否

#更改为yes以启用质询响应密码(请注意以下问题)
#一些PAM模块和线程)
ChallengeResponseAuthentication否

#更改为no以禁用隧道明文密码
密码验证是

#Kerberos选项 
#Kerberos身份验证否
#KerberosGetAFSToken否
#KerberosOrLocalPasswd是
#KerberosTicketCleanup是

#GSSAPI选项
#GSSAPI验证编号
#GSSAPICleanupCredentials是

X11转发是
X11DisplayOffset 10
PrintMotd否
PrintLastLog是
TCPKeepAlive是
#UseLogin否

#MaxStartups 10:30:60 
#横幅/etc/issue.net

#允许客户端传递区域设置环境变量
AcceptEnv LANG LC_ *

子系统sftp / usr / lib / openssh / sftp-server

#将此设置为“是”以启用PAM身份验证,帐户处理,
#和会话处理。如果启用此功能,PAM身份验证将
#通过ChallengeResponseAuthentication和
#PasswordAuthentication。根据您的PAM配置,
#通过ChallengeResponseAuthentication进行的PAM身份验证可能会绕过
#“没有密码的PermitRootLogin”的设置。
#如果您只想运行PAM帐户和会话检查而无需
#PAM身份验证,然后启用它,但设置PasswordAuthentication
#和ChallengeResponseAuthentication为'no'。
UsePAM是 
IgnoreUserKnownHosts否
密码验证是

我在最近的尝试中添加了最后两行。(我在其他vps上有它们,它们在那里工作)

这是我的用户的〜/ .ssh /目录的列表:

ls -la /home/skerit/.ssh
总共16
drwx ------ 2 skerit skerit 4096 2011-06-25 15:11。
drwxr-xr-x 4 skerit skerit 4096 2011-07-07 21:05 ..
-rw-r--r-- 1 skerit skerit 1882 2011-06-25 15:15授权密钥
-rw-r--r-- 1 skerit skerit 884 2011-06-23 22:59known_hosts 

这是/ usr / sbin / sshd -d的输出:

debug1:用户skerit服务的authauth请求ssh-connection方法n​​one
debug1:尝试0次失败0次
debug1:PAM:初始化为“ skerit”
debug1:PAM:将PAM_RHOST设置为“ 82.197.70.70”
debug1:PAM:将PAM_TTY设置为“ ssh”
debug1:用户skerit服务的userauth请求ssh连接方法publickey
debug1:尝试1次失败0
debug1:测试pkalg / pkblob是否可接受
debug1:检查黑名单文件/usr/share/ssh/blacklist.RSA-2048
debug1:检查黑名单文件/etc/ssh/blacklist.RSA-2048
debug1:临时使用_uid:1000/1000(e = 0/0)
debug1:尝试使用公共密钥文件/home/skerit/.ssh/authorized_keys
debug1:fd 4清除O_NONBLOCK
debug1:restore_uid:0/0
debug1:临时使用_uid:1000/1000(e = 0/0)
debug1:尝试使用公共密钥文件/home/skerit/.ssh/authorized_keys2
debug1:无法打开授权密钥'/home/skerit/.ssh/authorized_keys2':没有此类文件或目录
debug1:restore_uid:0/0
从82.197.70.70端口57154 ssh2失败的skerit公钥
debug1:userauth请求用户的skerit服务ssh-连接方法密码
debug1:尝试2次失败1
debug1:PAM:skerit的密码验证失败:验证失败
来自82.197.70.70端口57154 ssh2的skerit密码失败 

然后,我尝试使用相同的用户名和密码从ssh服务器(本地)登录到ssh服务器,并且可以正常工作。这是在auth.log文件中:

7月8日12:21:50 vpsnl1 sshd [27298]:debug1:无法打开密钥文件'/ etc / ssh / ssh_host_ecdsa_key':没有此类文件或目录
7月8日12:21:50 vpsnl1 sshd [27298]:错误:无法加载主机密钥:/ etc / ssh / ssh_host_ecdsa_key
7月8日12:22:16 vpsnl1 sshd [27298]:pam_unix(sshd:auth):身份验证失败;logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197.70.70 user =
斯凯里特
7月8日12:23:50 vpsnl1 sshd [27439]:服务器在0.0.0.0端口22上侦听。
7月8日12:23:50 vpsnl1 sshd [27439]:服务器在::端口22上监听。
7月8日12:24:07 vpsnl1 sshd [27458]:错误:无法加载主机密钥:/ etc / ssh / ssh_host_ecdsa_key
7月8日12:24:14 vpsnl1 sshd [27458]:从127.0.0.1端口57667 ssh2接受的skerit密码
7月8日12:24:14 vpsnl1 sshd [27458]:pam_unix(sshd:session):由(uid = 0)为用户skerit打开的会话
7月8日12:24:25 vpsnl1 sshd [27471]:收到与127.0.0.1断开的连接:11:已由用户断开连接
7月8日12:24:25 vpsnl1 sshd [27458]:pam_unix(sshd:session):用户skerit会话已关闭 

您可以添加ssh-config吗?
巴特·德沃斯

好了,添加了配置文件!
skerit 2011年

.ssh的权限如何?您可以在服务器上发布ls -la〜/ .ssh吗?
mkudlacek 2011年

好的,我已经添加了我要登录的用户文件列表。
skerit 2011年

1
我认为Authorized_keys应该不是世界可读的,但是它不能解释为什么您不能使用密码登录。你可以su skerit用你的帐户吗?
mkudlacek

Answers:


9

您确定要尝试访问的用户帐户已正确配置吗?如果您以root su用户身份登录系统,可以使用该用户帐户吗?

# su - username

尝试失败的连接后,您在日志中看到什么?在许多系统上,sshd将登录到/var/log/secure/var/log/auth.log。另外,我注意到您已PasswordAuthentication启用但已ChallengeResponseAuthentication禁用。如果启用,您会看到相同的行为ChallengeResponseAuthentication吗?

当您遇到ssh问题时,可以使用以下一些常规诊断步骤:

  • 在ssh中启用详细诊断:

    ssh -v host.example.com
    

    这将导致客户端在协商连接时输出各种诊断消息。这通常会提供问题的线索。

  • 在调试模式下运行服务器。

    在服务器上,停止sshd,然后从命令行运行它,如下所示:

    /usr/sbin/sshd -d
    

    这将产生冗长的调试日志记录,stderr该日志记录通常包含有用的信息。

如果以上两种方法都不能帮助您了解发生了什么,是否可以将输出添加到您的问题中?


好的,我已经添加了输出。基本上是:当我TRO远程登录它说密码是不是好,当我尝试本地登录它说密码正确,让我进去
skerit

2
WAS密码。我通过Web控制台(某些Java应用程序)更改了密码,即使输入的密码与我在腻子控制台中键入的密码相同,但在某种程度上ascii值也必须有所不同。我将其更改为更简单的名称,通过腻子以正确的方式登录,然后再次将其更改回。现在可以了。
skerit 2011年

@skerit-可能是字符编码问题,然后-也许是UTF8与ASCII?
沃伦

很高兴听到一切正常!
larsk's

从DigitalOcean的Web控制台更改密码后,遇到了与@skerit相同的问题。
丹尼尔(Daniel)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.