SSH 오류 : 권한이 거부되었습니다. 다시 시도하십시오


23

Amazon EC2 인스턴스를 사용하여 Ubuntu 서버 설정이 있습니다. SSH를 사용하여 데스크탑 (우분투 컴퓨터이기도 함)을 우분투 서버에 연결해야합니다.

우분투 서버에 open-ssh를 설치했습니다. SSH를 사용하여 우분투 서버를 연결하려면 네트워크의 모든 시스템이 필요합니다 (pem 또는 pub 키를 통해 연결할 필요가 없음).

따라서 보안 그룹 (AWS)의 고정 IP 용 SSH 포트 22를 열었습니다.

내 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 yes
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

webmin (명령 셸)을 통해 'senthil'이라는 새 사용자를 만들고이 새 사용자를 'sudo'그룹에 추가했습니다.

sudo adduser -y senthil
sudo adduser senthil sudo

'webmin'에서이 새로운 사용자 'senthil'을 사용하여 로그인을 시도했습니다. 성공적으로 로그인 할 수있었습니다.

SSH를 통해 터미널에서 우분투 서버를 연결하려고 할 때,

ssh senthil@SERVER_IP

비밀번호를 입력하라는 메시지가 표시됩니다. 비밀번호를 입력하면 다음과 같이 표시됩니다.

Permission denied, please try again.

일부 연구에서 서버의 인증 로그를 모니터링해야한다는 것을 깨달았습니다. 인증 로그 (/var/log/auth.log)에 다음 오류가 있습니다.

Jul  2 09:38:07 ip-192-xx-xx-xxx sshd[3037]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=MY_CLIENT_IP  user=senthil
Jul  2 09:38:09 ip-192-xx-xx-xxx sshd[3037]: Failed password for senthil from MY_CLIENT_IP port 39116 ssh2

내가 사용하여 디버깅하려고 할 때 :

ssh -v senthil@SERVER_IP


    OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SERVER_IP [SERVER_IP] port 22.
debug1: Connection established.
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-7ubuntu1
debug1: match: OpenSSH_5.8p1 Debian-7ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA {SERVER_HOST_KEY}
debug1: Host 'SERVER_IP' is known and matches the ECDSA host key.
debug1: Found key in {MY-WORKSPACE}/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: password
debug1: Next authentication method: password
senthil@SERVER_IP's password: 
debug1: Authentications that can continue: password
Permission denied, please try again.
senthil@SERVER_IP's password: 

암호의 경우, 일반적으로 '우분투'사용자에게 사용하는 것과 동일한 값을 입력했습니다.

누구든지 문제가있는 곳을 안내 하고이 문제에 대한 해결책을 제안 할 수 있습니까?


사용자의 비밀번호를 설정 했 ubuntu습니까? 그리고 정확하게 입력하고 있다고 확신하십니까? 또한 id ubuntu귀하의 질문에 서버에서 실행 결과를 포함하십시오 . 아마도 계정을 잠갔습니까? 출력을 포함 시키 grep ^ubuntu /etc/passwd /etc/shadow십시오 (문자열 중간에서만 암호화 된 비밀번호 변경).
gertvdijk

실제로 SSH에 대한 별도의 사용자를 만들지 않았습니다. 서버 로그인에 일반적으로 사용하는 사용자를 사용했습니다. grep ^ ubuntu / etc / passwd / etc / shadow의 출력은 다음과 같습니다. / etc / passwd : ubuntu : x : 1000 : 1000 : Ubuntu : / home / ubuntu : / bin / bash / etc / shadow : ubuntu :! $ 6 $ rWDSGDSGhv $ WDFDASGFDAG.Pz0ob54 / epaDSGDSKQKnKqQMFG..OieFiLUndF6KnSDGHDSGHmTMjAGHDSH214I7FHSi1 : 15347 : 0 : 99999 : 7 :::
Senthil Kumaran

분명한 답변을 보내 주셔서 다시 한 번 감사드립니다. SSH에 대해 별도의 사용자를 작성하여 SSH 구성에 추가해야하는 경우 몇 가지 단계를 알려주십시오.
Senthil Kumaran

답변:


11

계정을 잠갔습니다.

맨 페이지에서 usermod(8):

-L, --lock
           Lock a user's password. This puts a '!' in front of the encrypted password,
           effectively disabling the password.

이제 shadow라인을 살펴보십시오 .

ubuntu:!$6$rWDSG...HSi1:15347:0:99999:7:::

그것을 잠금 해제하십시오 :

usermod -U ubuntu

중요 사항! 이 사용자가 시스템에 사전 설치되어 있다면 이유 (보안상의 이유로) 잠겨있을 수 있지만 이것이 일반적인 우분투 설치가 아니기 때문에 귀하를 위해 결정할 수 없습니다.


위와 같이 불편한 경우 별도의 사용자를 만들 수 있습니다.

sudo adduser username

질문에 대답하십시오. 로그인 만하면됩니다. 또한 그룹 sudo에 추가하여 루트 (use ) 가 될 수 있도록하십시오 sudo.

sudo adduser username sudo

ubuntu명령 줄 에서 사용자 로 전환해야하는 경우 SSH를 사용하여 로그인 할 수없는 이유와 같은 이유로 자격 증명을 제공 할 수 없으므로 관리자 권한을 사용해야합니다. 이제 SSH를 사용하여 로그인 username하고 다음과 같이 실행하십시오 ubuntu.

sudo su -l ubuntu

보안상의 이유로 root직접 로그인하는 데 사용하지 않는 것이 좋습니다 .


보안상의 이유로 사용자 'ubuntu'가 잠겨 있다고 생각합니다. 또는 이러한 혼동을 피하기 위해 루트 사용자 계정을 사용하여 로그인을 시도했습니다. 터미널 및 auth.log 파일에서 여전히 동일한 오류가 발생합니다.
Senthil Kumaran

당신은 root계정을 의미 합니까? 해당 계정에는 비밀번호가 없으며 기본적으로 잠겨 있습니다. 활성화 했습니까?
Alaa Ali

@ Kamal 나는 그것을하는 방법을 포함하도록 대답을 업데이트했습니다.
gertvdijk

감사합니다 gertvdijk. 나는 이것을 시도 할 것이다. 또한 내 질문을 편집하고 ssh -v ubuntu @ SERVER_IP의 출력을 업데이트했습니다.
Senthil Kumaran

@Alaa : 아니요. 활성화하지 않았습니다. 다만 현재 내가 사용자를 사용하고 .. 루트를 사용하여 로그인을 시도 : '우분투'(Webmin은에서) 로그인에
센씰 Kumaran

7

나는 같은 문제가 있고 많은 시간이 걸립니다.

그러나 서버 snd 클라이언트의 키보드 레이아웃이 다르기 때문에 비밀번호잘못되었습니다 .

: 서버에서, 나는 암호를 설정하는 것이 생각 WEwd@ds 난 그주의, 그리고 @"서버 키보드 레이아웃.

올바른 비밀번호는 다음과 같습니다. WEwd"ds


따라서 다음을 확인해야합니다.

서버 키보드 레이아웃 [vs] 워크 스테이션 키보드 레이아웃


1
이게 다야 Raspbian 시스템은 재부팅 할 때마다 GB 키보드로 돌아갑니다. 환경 설정-> 키보드 및 마우스로 이동하여 미국으로 재설정해야합니다. 이 답변이 2018 년 1 월에 필요할 때까지 기다려 주셔서 감사합니다.
SDsolar

나는 반대의 문제를 겪었습니다 .Windows는 어떤 이유로 키보드 레이아웃을 변경했기 때문에 SSH 클라이언트를 통해 잘못된 비밀번호를 제공하고있었습니다.
mwfearnley

5

이것은이 질문에 대한 정확한 대답이 아닙니다. 그러나 제 경우에는 중복 라인이있었습니다. (같은 라인이 두번 있었다)

PermitRootLogin yes

그리고 또한

AllowUsers otheruser

이 줄에 'root'사용자를 추가하거나이 줄을 주석 처리해야합니다.

그리고 ssh를 다시 시작하십시오. service sshd restart


그것은 나를 위해 일했다
VJ Ranga

2

문제가있는 곳을 찾아서 수정했습니다.

새 사용자 (이름 : senthil)를 만들고 방금 SSH에 사용했습니다. 우분투에서는 새 사용자를 만들 때 기본적으로 루트 사용자의 암호가 새 사용자에게 할당된다고 생각합니다. 그런 다음에도 새로 만든 사용자에게 새 비밀번호를 재설정하고 할당하십시오.

사용자 비밀번호가 재설정되고 sshd_config에서 다음과 같이 변경 한 후에는 모든 네트워크 (내 네트워크)를 원격 서버에 연결할 수 있습니다.

참고 : RSAAuthentication, PubkeyAuthentication 및 KerberosAuthentication과 같은 모든 SSH 인증을 해제했습니다. PasswordAuthentication 만 설정했습니다.

고맙습니다.


"새 사용자를 만들면 기본적으로 루트 사용자의 암호가 새 사용자에게 할당됩니다." <-아니요,을 사용하여 비밀번호를 설정하라는 메시지가 표시됩니다 adduser. useradd대신 사용하셨습니까 ?
gertvdijk

"sudo adduser -y senthil"및 "sudo adduser senthil sudo"명령을 사용했습니다. webmin 명령 줄을 사용하여 사용자를 만들었을 때 사용자를 만들 때 암호를 입력하라는 메시지가 표시되지 않았습니다.
Senthil Kumaran

gertvdijk, 서버에 대한 webmin 액세스 만 가지고 있다고 생각하십시오. webmin 명령 행에서 GUI 프롬프트 또는 단계별 설치는 불가능합니다. 따라서 webmin 명령 줄에서 암호를 입력하라는 메시지가 표시되지 않습니다. 그런 경우 어떻게해야합니까? "sudo adduser -y senthil"이외의 다른 명령이 하나의 명령에서 사용자에게 비밀번호를 작성하고 지정하도록합니까? 긴 질문에 대해 죄송합니다.
Senthil Kumaran

그러나 EC2에 대한 콘솔 액세스 권한이 있습니까? 물론 Webmin을 통해 이러한 명령을 실행하는 것은 매우 제한적입니다. Webmin이 아닌 콘솔에서 이것을 실행하는 것에 대해 명시 적으로 설명하지 않았습니다 (실제로 옵션 / 기능이 제한됩니다).
gertvdijk

당신은 그 사용자의 암호 만 변경하면된다는 것을 의미했습니다. 나는 같은 문제를 가지고있다. 내 경우에는 모든 사용자가 루트를 포함하여 해당 오류를 얻습니까?!
shgnInc

2

sshd_config 파일에서 파일 끝에 다음 줄을 추가합니다.

AllowUsers senthil

이 줄을 사용하면 서버가 사용자 이름 인 senthil에 연결할 수 있습니다. 다른 사용자는 거부됩니다. 그런 다음 서버의 터미널로 이동하여 다음 명령을 입력하십시오.

ssh senthil@yourhostname

끝난! 행운을 빕니다 여기에 와서 더 많은 정보를 볼 수 있습니다. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/


1

필자의 경우이 문제를 해결했습니다. openssh-server를 실행하는 서버에서 사용자 (myserverusername) 및 루트 (root) 비밀번호를 이전에 사용했던 비밀번호로 변경했습니다.

sudo passwd myserverusername

sudo passwd root

그런 다음 ssh 서버 디먼을 재부팅하십시오.

sudo service ssh restart

비밀번호 변경을 기억하지 않기 때문에 이상합니다


0

필사적 인 경우 /etc/hosts파일을 다시 확인하여 컴퓨터가 특정 호스트 이름과 실제로 다른 IP 이름을 가지고 있다고 생각하지 않도록하십시오. >. <


0

sshd허용 된 사용자의 액세스 목록 확인 (구성 파일)

  1. cat /etc/ssh/sshd_config
  2. AllowUsers

설정해서는 안되며 #아래 예제와 같이 주석 처리해야 합니다.

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
ClientAliveInterval 432000
ClientAliveCountMax 0
#AllowUsers TestUser

0

이 질문에 대한 많은 답변을 보았습니다. 나도 문제에 직면했다. 내 경우는 내 ssh 연결이 그 전에 작동하고 있었고 Windows 10 자동 업그레이드로 변경했습니다. 내 데스크탑의 Ubuntu에서 오랫동안 작동하지 않았습니다.

무엇이 문제인지 확실하지 않습니다. \ etc \ hosts 파일, sshd_config 파일을 모두 확인했습니다. 그런 다음 바이러스 백신 설정을 확인하기로 결정했습니다-빙고가 문제입니다!

퍼티 응용 프로그램이 거부 목록에있었습니다. 사용 설정 한 다음 성공적으로 로그인하십시오. 큰 비명!


0

"AllowUsers는 다음과 같이 사용자를 추가합니다 : AllowUsers scom omar ahmed root

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.