사용자 이름과 암호를 사용하여 ssh 서버에 로그인하려고 하는데 올바른 암호를 입력한 후 다음 오류가 발생합니다.

Permission denied, please try again.

나는 할 수 있지만, 다른 컴퓨터에 pubkey를 사용하여 로그인하지만 정기적으로 암호 인증을 해제하지 않았습니다. 내가 비활성화 한 유일한 것은 루트 로그인이었습니다.

내 sshd_config 파일은 다음과 같습니다.

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

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

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts

RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes

# Kerberos options 
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60 
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes 
IgnoreUserKnownHosts no
PasswordAuthentication yes

나는 그것을 작동시키려는 최근 시도에서 마지막 2줄을 추가했습니다. (나는 내 ​​다른 vps에 있고 그들은 거기에서 작동합니다)

내 사용자의 ~/.ssh/ 디렉토리 목록은 다음과 같습니다.

ls -la /home/skerit/.ssh
total 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 authorized_keys
-rw-r--r-- 1 skerit skerit 884 2011-06-23 22:59 known_hosts 

다음은 /usr/sbin/sshd -d의 출력입니다.

debug1: userauth-request for user skerit service ssh-connection method none
debug1: attempt 0 failures 0
debug1: PAM: initializing for "skerit"
debug1: PAM: setting PAM_RHOST to "82.197.70.70"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: userauth-request for user skerit service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/skerit/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/skerit/.ssh/authorized_keys2
debug1: Could not open authorized keys '/home/skerit/.ssh/authorized_keys2': No such file or directory
debug1: restore_uid: 0/0
Failed publickey for skerit from 82.197.70.70 port 57154 ssh2
debug1: userauth-request for user skerit service ssh-connection method password
debug1: attempt 2 failures 1
debug1: PAM: password authentication failed for skerit: Authentication failure
Failed password for skerit from 82.197.70.70 port 57154 ssh2 

그런 다음 동일한 사용자 이름과 암호를 사용하여 ssh 서버(로컬)에서 ssh 서버에 로그인하려고 시도했지만 작동했습니다. 이것은 auth.log 파일에 있었습니다.

Jul 8 12:21:50 vpsnl1 sshd[27298]: debug1: could not open key file '/etc/ssh/ssh_host_ecdsa_key': No such file or directory
Jul 8 12:21:50 vpsnl1 sshd[27298]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 8 12:22:16 vpsnl1 sshd[27298]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=82.197.70.70 user=
skerit
Jul 8 12:23:50 vpsnl1 sshd[27439]: Server listening on 0.0.0.0 port 22.
Jul 8 12:23:50 vpsnl1 sshd[27439]: Server listening on :: port 22.
Jul 8 12:24:07 vpsnl1 sshd[27458]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Jul 8 12:24:14 vpsnl1 sshd[27458]: Accepted password for skerit from 127.0.0.1 port 57667 ssh2
Jul 8 12:24:14 vpsnl1 sshd[27458]: pam_unix(sshd:session): session opened for user skerit by (uid=0)
Jul 8 12:24:25 vpsnl1 sshd[27471]: Received disconnect from 127.0.0.1: 11: disconnected by user
Jul 8 12:24:25 vpsnl1 sshd[27458]: pam_unix(sshd:session): session closed for user skerit 
answer

액세스하려는 사용자 계정이 올바르게 구성되어 있습니까? 시스템에서 루트로 로그인 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유용한 정보가 포함된 자세한 디버그 로깅이 생성 됩니다.

이 중 어느 것도 진행 상황을 파악하는 데 도움이 되지 않는 경우 질문에 출력을 추가하시겠습니까?