Kesalahan SSH: Izin ditolak, silakan coba lagi

23

Saya memiliki pengaturan server Ubuntu menggunakan instance amazon ec2. Saya perlu menghubungkan desktop saya (yang juga merupakan mesin ubuntu) ke server ubuntu menggunakan SSH.

Saya telah menginstal open-ssh di server ubuntu. Saya membutuhkan semua sistem jaringan saya untuk menghubungkan server ubuntu menggunakan SSH (tidak perlu terhubung melalui tombol pem atau pub).

Maka dibuka SSH port 22 untuk IP statis saya di grup keamanan (AWS).

File SSHD-CONFIG saya adalah:

# 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

Melalui webmin (Command shell), saya telah membuat pengguna baru bernama 'senthil' dan menambahkan pengguna baru ini ke grup 'sudo'.

sudo adduser -y senthil
sudo adduser senthil sudo

Saya mencoba masuk menggunakan 'senthil' pengguna baru ini di 'webmin'. Saya berhasil masuk.

Ketika saya mencoba menghubungkan server ubuntu dari terminal saya melalui SSH,

ssh senthil@SERVER_IP

Ia meminta saya untuk memasukkan kata sandi. Setelah entri kata sandi, ditampilkan:

Permission denied, please try again.

Pada beberapa penelitian saya menyadari bahwa, saya perlu memonitor auth log server saya untuk ini. Saya mendapatkan kesalahan berikut dalam auth log saya (/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

Ketika saya mencoba men-debug menggunakan:

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: 

Untuk kata sandi, saya telah memasukkan nilai yang sama yang biasanya saya gunakan untuk pengguna 'ubuntu'.

Adakah yang bisa membimbing saya di mana masalah ini dan menyarankan beberapa solusi untuk masalah ini?

Senthil Kumaran
sumber
Anda telah mengatur kata sandi untuk ubuntupengguna? Dan Anda yakin Anda mengetiknya dengan benar? Juga sertakan output id ubunturun dari server Anda dalam pertanyaan Anda. Apakah Anda mengunci akun itu? Pertimbangkan untuk memasukkan output dari grep ^ubuntu /etc/passwd /etc/shadow(dan ubah kata sandi terenkripsi hanya di tengah-tengah string).
gertvdijk
Sebenarnya saya belum membuat pengguna terpisah untuk SSH. Saya telah menggunakan pengguna yang biasanya saya gunakan untuk login server. Output dari grep ^ ubuntu / etc / passwd / etc / shadow adalah: / etc / passwd: ubuntu: x: 1000: 1000: Ubuntu: / home / ubuntu: / bin / bash / etc / shadow: ubuntu:! $ 6 $ rWDSGDSGhv $ WDFDASGFDAG.Pz0ob54 / epaDSGDSGQKnKqQMFG..OieFiLUndF6KnSDGHDSGHmTMjAGHDSH214I7FHSi1: 15347: 0: 99999: 7 :::
Senthil 11
Terima kasih lagi atas tanggapan Anda yang jelas .. Jika saya perlu membuat pengguna terpisah untuk SSH dan menambahkannya ke beberapa konfigurasi SSH, dapatkah Anda memberi saya beberapa langkah untuk itu.
Senthil Kumaran

Jawaban:

11

Anda telah mengunci akun.

Dari halaman manual usermod(8):

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

Sekarang lihat shadowbaris Anda :

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

Buka kunci:

usermod -U ubuntu

Catatan penting! Jika pengguna ini sudah diinstal pada sistem mungkin dikunci karena suatu alasan (alasan keamanan), tetapi saya tidak dapat memutuskan untuk Anda karena ini tampaknya bukan instalasi Ubuntu biasa.


Jika hal di atas membuat Anda merasa tidak nyaman, Anda dapat membuat pengguna terpisah:

sudo adduser username

dan jawab pertanyaannya. Anda harus dapat masuk dengan baik. Juga membuatnya bisa menjadi root (gunakan sudo) dengan menambahkannya ke sudogrup:

sudo adduser username sudo

Jika Anda perlu beralih ke ubuntupengguna di baris perintah, Anda harus menggunakan hak tinggi Anda, karena Anda tidak bisa memberikan kredensial untuk alasan yang sama seperti mengapa Anda tidak bisa masuk menggunakan SSH. Sekarang, masuk menggunakan SSH sebagai username, dan jalankan ini menjadi ubuntu:

sudo su -l ubuntu

Demi alasan keamanan, saya tidak akan menyarankan untuk menggunakannya rootuntuk masuk secara langsung.

gertvdijk
sumber
Saya merasa pengguna 'ubuntu' dikunci karena alasan keamanan. Atau untuk menghindari kebingungan ini, saya juga mencoba login menggunakan akun pengguna root saya .. Saya masih mendapatkan kesalahan yang sama di terminal dan file auth.log.
Senthil Kumaran
Maksudmu rootakun itu? Akun itu tidak memiliki kata sandi dan terkunci secara default. Sudahkah Anda mengaktifkannya?
Alaa Ali
@ Kamal Saya telah memperbarui jawaban saya untuk memasukkan cara melakukannya.
gertvdijk
Terima kasih gertvdijk. Saya akan coba ini sekarang. Saya juga telah mengedit pertanyaan saya dan memperbarui output ssh -v ubuntu @ SERVER_IP
Senthil Kumaran
@Alaa: Tidak .. Saya belum mengaktifkannya. Baru mencoba masuk menggunakan root .. Saat ini saya menggunakan pengguna: 'ubuntu' untuk masuk (di webmin)
Senthil Kumaran
7

Saya memiliki masalah yang sama dan butuh waktu berjam-jam untuk saya.

Namun, saya perhatikan bahwa ini adalah kata sandi yang salah karena perbedaan antara tata letak keyboard klien server snd:

Di Server, saya berpikir bahwa saya menetapkan kata sandi: WEwd@ds Dan, saya perhatikan bahwa @ada "di tata letak keyboard server.

Jadi kata sandi yang tepat adalah: WEwd"ds


Jadi, Anda perlu memeriksa:

Tata letak keyboard server [vs] Tata letak keyboard workstation

Abdennour TOUMI
sumber
1
Ini dia. Sistem Raspbian saya kembali ke keyboard GB di setiap reboot dan saya harus masuk ke Preferences-> Keyboard and Mouse untuk mengatur ulang ke AS. Terima kasih karena jawaban ini menunggu saya membutuhkannya pada Januari 2018.
SDsolar
Saya memiliki masalah yang berlawanan - Windows mengubah tata letak keyboard saya untuk beberapa alasan, jadi saya memberikan kata sandi yang salah melalui klien SSH saya.
mwfearnley
5

Ini bukan jawaban yang tepat untuk pertanyaan ini. Tapi dalam kasus saya, ada garis yang berlebihan. (ada garis yang sama dua kali)

PermitRootLogin yes

dan juga

AllowUsers otheruser

Anda harus menambahkan pengguna 'root' ke baris ini atau berkomentar baris ini.

Dan restart ssh service sshd restart

Sadee
sumber
itu berhasil untuk saya
VJ Ranga
2

Saya menemukan di mana masalahnya dan diperbaiki.

Saya telah membuat pengguna baru (bernama: senthil) dan hanya menggunakannya untuk SSH. Di Ubuntu, saya merasa bahwa ketika kita membuat pengguna baru, secara default kata sandi pengguna root akan ditetapkan untuk pengguna baru. Bahkan kemudian, setel ulang dan tetapkan beberapa kata sandi baru untuk pengguna yang baru dibuat.

Sekali setelah kata sandi pengguna diatur ulang dan membuat perubahan berikut di sshd_config, sekarang saya dapat menghubungkan semua sistem saya (dari jaringan saya) ke server jarak jauh.

Harap Dicatat: Saya telah mematikan semua autentikasi SSH (seperti RSAAuthentication, PubkeyAuthentication, dan KerberosAuthentication) .. Saya hanya menyalakan Kata Kunci Otentikasi.

Terima kasih.

Senthil Kumaran
sumber
"Saya merasa bahwa ketika kita membuat pengguna baru, secara default kata sandi pengguna root akan diberikan kepada pengguna baru." <- Tidak, Anda diminta mengatur kata sandi menggunakan adduser. Apakah Anda menggunakannya useradd?
gertvdijk
Saya telah menggunakan dua perintah berikut: "sudo adduser -y senthil" dan "sudo adduser senthil sudo". Mungkin karena saya telah membuat pengguna menggunakan perintah webmin, itu belum meminta saya untuk memasukkan kata sandi selama pembuatan pengguna
Senthil Kumaran
gertvdijk, pertimbangkan bahwa saya hanya memiliki akses webmin untuk server. Di baris perintah webmin, GUI prompt atau instalasi langkah demi langkah tidak dimungkinkan. Jadi saya merasa bahwa di baris perintah webmin, ia belum meminta saya untuk memasukkan kata sandi. Dalam kasus seperti itu, apa yang bisa saya lakukan? Apakah ada perintah lain, selain "sudo adduser -y senthil" sehingga dalam SATU PERINTAH saya akan membuat dan menetapkan kata sandi untuk pengguna? maaf untuk pertanyaan yang panjang.
Senthil Kumaran
Tetapi Anda memiliki akses konsol pada EC2, kan? Tentu saja, menjalankan perintah-perintah ini melalui Webmin sangat terbatas. Maaf saya tidak eksplisit menjalankan ini di konsol daripada Webmin (ini benar-benar membatasi pilihan / kemampuan Anda).
gertvdijk
Maksud Anda, Anda hanya mengubah kata sandi pengguna itu dan semuanya OK? Saya memiliki masalah yang sama. Dalam kasus saya, semua pengguna menyertakan root mendapatkan kesalahan itu ?!
shgnInc
2

Saya punya solusi untuk Anda Di file sshd_config Anda, Anda menambahkan baris berikut di akhir file:

AllowUsers senthil

Baris ini memungkinkan server Anda dapat terhubung ke nama pengguna: senthil. Pengguna lain akan ditolak. Setelah itu pergi ke terminal Anda pada sever Anda ketik perintah ini:

ssh senthil@yourhostname

Selesai! Semoga sukses. Anda dapat informasi lebih lanjut. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/

Dang_Ho
sumber
1

Dalam kasus saya, ini menyelesaikan masalah: Di server yang menjalankan openssh-server saya mengubah kata sandi pengguna (myserverusername) dan root (root) ke yang sebelumnya saya gunakan:

sudo passwd myserverusername

dan

sudo passwd root

Kemudian reboot daemon ssh server:

sudo service ssh restart

Ini aneh karena saya tidak ingat mengubah kata sandi

Tomás Arturo Herrera Castro
sumber
0

Untuk yang putus asa, periksa /etc/hostsfile Anda untuk memastikan Anda tidak menipu komputer Anda untuk berpikir nama host tertentu memiliki IP yang berbeda dari yang sebenarnya. >. <

Alexander Taylor
sumber
0

Periksa daftar sshdakses untuk Pengguna yang Diizinkan (file konfigurasi)

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

tidak boleh diatur, harus dikomentari #seperti yang ditunjukkan pada contoh di bawah ini.

# 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
Willer
sumber
0

Saya telah melihat banyak jawaban untuk pertanyaan ini. Saya juga menghadapi masalah. Kasus saya adalah koneksi ssh saya berfungsi sebelum itu, saya mengubah ke windows 10 otomatis ditingkatkan. Tidak bekerja di Ubuntu di desktop saya lama.

Tidak yakin apa masalahnya. Saya memeriksa file \ etc \ hosts, file sshd_config semuanya tampak baik-baik saja. Kemudian saya memutuskan untuk memeriksa pengaturan antivirus saya - bingo itu masalahnya!

Aplikasi dempul ada di daftar ditolak. Jadi aktifkan ... lalu masuk dengan sukses. Jeritan besar!

Niranjan Das
sumber
0

periksa #cat / etc / ssh / sshd_config jika Anda menemukan baris mulai dengan "AllowUsers tambahkan pengguna Anda di dalamnya seperti: AllowUsers scom omar ahmed root

Kehidupan baru
sumber