Saya mencoba masuk ke server ssh saya menggunakan nama pengguna dan kata sandi, tetapi saya mendapatkan kesalahan ini setelah memasukkan kata sandi yang benar:
Permission denied, please try again.
Saya bisa masuk menggunakan pubkey di komputer lain, tetapi saya TIDAK menonaktifkan otentikasi kata sandi biasa. Satu-satunya hal yang saya nonaktifkan adalah login root.
Ini file sshd_config saya:
# Paket file konfigurasi yang dihasilkan # Lihat halaman manual sshd_config (5) untuk detailnya # Port, IP, dan protokol apa yang kami dengarkan Port 22 # Gunakan opsi ini untuk membatasi antarmuka / protokol mana sshd akan diikat #ListenAddress :: #ListenAddress 0.0.0.0 Protokol 2 # HostKeys untuk versi protokol 2 HostKey / etc / ssh / ssh_host_rsa_key HostKey / etc / ssh / ssh_host_dsa_key HostKey / etc / ssh / ssh_host_ecdsa_key Pemisahan #Privilege dihidupkan untuk keamanan GunakanPrivilegePasangan ya # Seumur hidup dan ukuran kunci server versi 1 yang sementara KeyRegenerationInterval 3600 ServerKeyBits 768 # Masuk SyslogFacility AUTH INFO LogLevel # Autentikasi: LoginGraceTime 120 PermitRootLogin no StrictModes ya RSAAtentikasi ya PubkeyAuthentication ya #AuthorizedKeysFile% h / .ssh / otor_keys # Jangan membaca file ~ / .rhosts dan ~ / .shosts pengguna Abaikan saja ya # Agar ini berfungsi, Anda juga memerlukan kunci host di / etc / ssh_known_hosts RhostsRSAAtententikasi No. # mirip untuk versi protokol 2 HostbasedAuthentication no # Membatalkan komentar jika Anda tidak percaya ~ / .ssh / known_hosts untuk RhostsRSAAuthentication #IgnoreUserKnownHosts ya # Untuk mengaktifkan kata sandi kosong, ubah ke ya (TIDAK DIANJURKAN) PermitEmptyPasswords no # Ubah ke ya untuk mengaktifkan kata sandi respons-tantangan (waspadalah dengan masalah # beberapa modul dan utas PAM) ChallengeResponseAuthentication no # Ubah menjadi tidak untuk menonaktifkan kata sandi teks yang disetel PasswordAuthentication ya # Opsi Kerberos #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd ya #KerberosTicketCleanup ya # Opsi GSSAPI #GSSAPIAuthentication no #GSSAPICleanupCredentials ya X11 Meneruskan ya X11DisplayOffset 10 PrintMotd no PrintLastLog ya TCPKeepAlive ya #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net # Izinkan klien untuk lulus variabel lingkungan lokal AcceptEnv LANG LC_ * Subsistem sftp / usr / lib / openssh / sftp-server # Tetapkan ini ke 'ya' untuk mengaktifkan otentikasi PAM, pemrosesan akun, # dan pemrosesan sesi. Jika ini diaktifkan, otentikasi PAM akan # diizinkan melalui ChallengeResponseAuthentication dan # PasswordAuthentication. Tergantung pada konfigurasi PAM Anda, # Otentikasi PAM melalui ChallengeResponseAuthentication dapat melewati # pengaturan "PermitRootLogin tanpa kata sandi". # Jika Anda hanya ingin akun PAM dan sesi cek berjalan tanpa # Otentikasi PAM, lalu aktifkan ini tetapi tetapkan PasswordAuthentication # and ChallengeResponseAuthentication to 'no'. GunakanPAM ya IgnoreUserKnownHosts no PasswordAuthentication ya
Saya telah menambahkan 2 baris terakhir dalam upaya terbaru untuk membuatnya berfungsi. (Saya memilikinya di vps saya yang lain, dan mereka bekerja di sana)
Inilah daftar direktori ~ / .ssh / dari pengguna saya:
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 berwenang_kunci -rw-r - r-- 1 skerit skerit 884 2011-06-23 22:59 known_hosts
Ini adalah output dari / usr / sbin / sshd -d:
debug1: userauth-request untuk layanan pengguna skerit ssh-koneksi metode tidak ada debug1: percobaan 0 kegagalan 0 debug1: PAM: inisialisasi untuk "skerit" debug1: PAM: mengatur PAM_RHOST ke "82.197.70.70" debug1: PAM: mengatur PAM_TTY ke "ssh" debug1: userauth-request untuk layanan pengguna skerit ssh-connection metode publickey debug1: percobaan 1 kegagalan 0 debug1: menguji apakah pkalg / pkblob dapat diterima debug1: Memeriksa file daftar hitam /usr/share/ssh/blacklist.RSA-2048 debug1: Memeriksa file daftar hitam /etc/ssh/blacklist.RSA-2048 debug1: sementara_use_uid: 1000/1000 (e = 0/0) debug1: mencoba file kunci publik /home/skerit/.ssh/authorized_keys debug1: fd 4 membersihkan O_NONBLOCK debug1: restore_uid: 0/0 debug1: sementara_use_uid: 1000/1000 (e = 0/0) debug1: mencoba file kunci publik /home/skerit/.ssh/authorized_keys2 debug1: Tidak dapat membuka kunci resmi '/home/skerit/.ssh/authorized_keys2': Tidak ada file atau direktori seperti itu debug1: restore_uid: 0/0 Publickey gagal untuk skerit dari port 82.197.70.70 57154 ssh2 debug1: userauth-request untuk layanan pengguna skerit ssh-connection metode password debug1: percobaan 2 kegagalan 1 debug1: PAM: otentikasi kata sandi gagal untuk skerit: Kegagalan otentikasi Kata sandi gagal untuk skerit dari 82.197.70.70 port 57154 ssh2
Saya kemudian mencoba masuk ke server ssh DARI server ssh (lokal) menggunakan nama pengguna dan kata sandi yang SAMA, dan ternyata berhasil. Ini ada di file auth.log:
8 Jul 12:21:50 vpsnl1 sshd [27298]: debug1: tidak dapat membuka file kunci '/ etc / ssh / ssh_host_ecdsa_key': Tidak ada file atau direktori tersebut 8 Jul 12:21:50 vpsnl1 sshd [27298]: error: Tidak dapat memuat kunci host: / etc / ssh / ssh_host_ecdsa_key 8 Jul 12:22:16 vpsnl1 sshd [27298]: pam_unix (sshd: auth): kegagalan otentikasi; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197.70.70 pengguna = skerit 8 Juli 12:23:50 vpsnl1 sshd [27439]: Server mendengarkan pada port 0.0.0.0 22. 8 Juli 12:23:50 vpsnl1 sshd [27439]: Server mendengarkan pada :: port 22. 8 Jul 12:24:07 vpsnl1 sshd [27458]: error: Tidak dapat memuat kunci host: / etc / ssh / ssh_host_ecdsa_key 8 Juli 12:24:14 vpsnl1 sshd [27458]: Kata sandi yang diterima untuk skerit dari 127.0.0.1 port 57667 ssh2 8 Juli 12:24:14 vpsnl1 sshd [27458]: pam_unix (sshd: session): sesi dibuka untuk pengguna skerit oleh (uid = 0) 8 Juli 12:24:25 vpsnl1 sshd [27471]: Menerima putuskan sambungan dari 127.0.0.1: 11: terputus oleh pengguna 8 Juli 12:24:25 vpsnl1 sshd [27458]: pam_unix (sshd: session): sesi ditutup untuk skerit pengguna
su skerit
di akun Anda?Jawaban:
Apakah Anda yakin bahwa akun pengguna yang Anda coba akses dikonfigurasi dengan benar? Jika Anda masuk sebagai root pada sistem, dapatkah Anda
su
ke akun pengguna?Apa yang Anda lihat di log setelah upaya koneksi gagal? Pada banyak sistem, sshd akan masuk ke sesuatu
/var/log/secure
atau/var/log/auth.log
. Juga, saya perhatikan bahwa Anda telahPasswordAuthentication
mengaktifkan tetapiChallengeResponseAuthentication
menonaktifkan. Apakah Anda melihat perilaku yang sama jika Anda mengaktifkanChallengeResponseAuthentication
?Berikut adalah beberapa langkah diagnostik umum untuk digunakan ketika Anda memiliki masalah ssh:
Aktifkan diagnostik verbose di ssh:
Ini akan menyebabkan klien mengeluarkan berbagai pesan diagnostik saat ia menegosiasikan koneksi. Ini akan sering memberikan petunjuk untuk masalah tersebut.
Jalankan server dalam mode debug.
Di server Anda, hentikan sshd, lalu jalankan dari baris perintah seperti ini:
Ini akan menghasilkan logging debug verbose
stderr
yang akan sangat sering berisi informasi yang berguna.Jika tidak satu pun dari ini membantu Anda mencari tahu apa yang terjadi, apakah Anda akan menambahkan output ke pertanyaan Anda?
sumber