Soru Ssh sunucusunda Loggin: İzin reddedildi, lütfen tekrar deneyin


Bir kullanıcı adı ve şifre kullanarak ssh sunucumda oturum açmaya çalışıyorum, ancak doğru şifreyi girdikten sonra bu hatayı alıyorum:

Permission denied, please try again.

ben kutu Yine de, başka bir makinede bir pubkey kullanarak giriş yapın, ancak normal parola kimlik doğrulamasını devre dışı bırakmadım. Devre dışı bıraktığım tek şey kök girişleri.

İşte benim sshd_config dosyası:

# Paket oluşturulan yapılandırma dosyası
# Detaylar için sshd_config (5) manpage bakın

# Dinlediğimiz bağlantı noktaları, IP'ler ve protokoller
22 numaralı liman
# Sshd hangi arabirimleri / protokolleri bağlamak için kısıtlamak için bu seçenekleri kullanın
#ListenAddress ::
#ListenAddress 0.0.0.0
Protokol 2
Protokol sürümü 2 için HostKeys
HostKey / etc / ssh / ssh_host_rsa_key
HostKey / etc / ssh / ssh_host_dsa_key
HostKey / etc / ssh / ssh_host_ecdsa_key
# Güvenlik için Ayrıcalık Ayrılma özelliği açık
UsePrivilegeSeparation yes

# Ömür boyu ve geçici sürüm 1 sunucu anahtarının boyutu
KeyRegenerationInterval 3600
ServerKeyBits 768

# Günlüğü
SyslogFacility AUTH
LogLevel BİLGİLERİ

# Kimlik Doğrulama:
LoginGraceTime 120
PermitRootLogin no
StrictModes evet

RSAAuthentication evet
PubkeyAuthentication evet
# YetkiliKeysDosya% h / .ssh / authorized_keys

# Kullanıcının ~ / .rhosts ve ~ / .shosts dosyalarını okuma
IgnoreRhosts evet
# Bunun çalışması için / etc / ssh_known_hosts dizininde de ana anahtarlara ihtiyacınız olacak

RhostsRSAAuthentication no
Protokol sürümü 2 için benzer
HostbasedAuthentication no
# RhostsRSAAuthentication için ~ / .ssh / known_hosts güvenmiyorsanız uncomment
#IgnoreUserKnownHosts evet

# Boş şifreleri etkinleştirmek için, evet'e (TAVSİYE DEĞİL) değin
PermitEmptyPasswords no

# Meydan okuma şifrelerini etkinleştirmek için yes olarak değiştirin (
# bazı PAM modülleri ve konuları)
ChallengeResponseAuthentication no

# Tünel açık metin şifrelerini devre dışı bırakmak için no olarak değiştirin
PasswordAuthentication evet

# Kerberos seçenekleri
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd evet
#KerberosTicketCleanup evet

# GSSAPI seçenekleri
#GSSAPIA kimlik doğrulama no
#GSSAPICleanupİşle ilgili bilgiler yes

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

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

# İstemcinin yerel ortam değişkenlerini geçirmesine izin ver
AcceptEnv LANG LC_ *

Alt sistem sftp / usr / lib / openssh / sftp sunucusu

# PAM kimlik doğrulamasını, hesap işlemeyi etkinleştirmek için bunu 'evet' olarak ayarlayın.
# ve oturum işleme. Bu etkinleştirilmişse, PAM kimlik doğrulaması
# ChallengeResponseAuthentication ile izin verilir ve
# ŞifreAuthentication. PAM yapılandırmanıza bağlı olarak,
ChallengeResponseAuthentication üzerinden PAM kimlik doğrulaması
# "Şifre olmadan PermitRootLogin" ayarı.
# Sadece PAM hesabını ve oturumu kontrol etmek istiyorsanız
# PAM kimlik doğrulaması yapın, ardından bunu etkinleştirin ancak PasswordAuthentication'ı ayarlayın
# ve ChallengeResponse 'no' olarak kimlik doğrulaması.
UsePAM evet
IgnoreUserKnownHosts no
PasswordAuthentication evet

Son 2 satırı, çalışmaya başladığında en son girişimi ekledim. (Onları diğer vekillerimde var ve orada çalışıyorlar)

İşte kullanıcımın ~ / .ssh / dizininin listesi:

ls -la /home/skerit/.ssh
toplam 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

Bu / usr / sbin / sshd -d'nin çıktısıdır:

debug1: kullanıcı skerit hizmeti için userauth-istek ssh-bağlantı yöntemi yok
hata ayıklama1: giriş 0 hatası 0
debug1: PAM: "skerit" için başlatılıyor
debug1: PAM: PAM_RHOST değerini "82.197.70.70" olarak ayarlıyor
debug1: PAM: PAM_TTY değerini "ssh" olarak ayarla
debug1: kullanıcı skerit hizmeti için userauth-istek ssh-bağlantı yöntemi publickey
hata ayıklama1: giriş 1 başarısızlıkları 0
debug1: pkalg / pkblob'un kabul edilebilir olup olmadığını test edin
debug1: Kara liste dosyasını kontrol etme /usr/share/ssh/blacklist.RSA-2048
debug1: kara liste dosyasını kontrol etme /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e = 0/0)
debug1: public anahtar dosyasını denemek /home/skerit/.ssh/authorized_keys
debug1: fd 4 takas O_NONBLOCK
hata ayıklama1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e = 0/0)
debug1: public anahtar dosyasını denemek /home/skerit/.ssh/authorized_keys2
debug1: Yetkili anahtarlar açılamadı '/home/skerit/.ssh/authorized_keys2': Böyle bir dosya veya dizin yok
hata ayıklama1: restore_uid: 0/0
82.197.70.70 bağlantı noktası 57154 ssh2'den skerit için publickey başarısız oldu
debug1: kullanıcı skerit hizmeti ssh-connection yöntemi parola için kullanıcı talebi
debug1: 2 başarısızlık girişimi 1
debug1: PAM: skerit için şifre kimlik doğrulaması başarısız oldu: Kimlik doğrulama hatası
82.197.70.70 bağlantı noktası 57154 ssh2'den skerit için şifre başarısız oldu

Daha sonra Ssh sunucusundan Ssh sunucusuna (yerel olarak) SAME kullanıcı adı ve şifresini kullanarak giriş yapmaya çalıştım ve işe yaradı. Bu auth.log dosyasındaydı:

8 Temmuz 12:21:50 vpsnl1 sshd [27298]: debug1: anahtar dosyasını açamadı '/ etc / ssh / ssh_host_ecdsa_key': Böyle bir dosya veya dizin yok
8 Temmuz 12:21:50 vpsnl1 sshd [27298]: hata: Ana makine anahtarı yüklenemedi: / etc / ssh / ssh_host_ecdsa_key
8 Temmuz 12:22:16 vpsnl1 sshd [27298]: pam_unix (sshd: auth): kimlik doğrulama hatası; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197.70.70 kullanıcı =
skerit
8 Temmuz 12:23:50 vpsnl1 sshd [27439]: Sunucu, 0.0.0.0 bağlantı noktası 22'de dinleniyor.
8 Temmuz 12:23:50 vpsnl1 sshd [27439]: Sunucu dinleniyor :: bağlantı noktası 22.
8 Temmuz 12:24:07 vpsnl1 sshd [27458]: hata: Ana makine anahtarı yüklenemedi: / etc / ssh / ssh_host_ecdsa_key
8 Temmuz 12:24:14 vpsnl1 sshd [27458]: 127.0.0.1 port 57667 ssh2'den skerit için kabul edilen şifre
8 Temmuz 12:24:14 vpsnl1 sshd [27458]: pam_unix (sshd: oturum): kullanıcı skerit'i için oturum açıldı (uid = 0)
Jul 8 12:24:25 vpsnl1 sshd [27471]: 127.0.0.1'den alınan bağlantı kesildi: 11: kullanıcı tarafından bağlantısı kesildi
8 Temmuz 12:24:25 vpsnl1 sshd [27458]: pam_unix (sshd: oturum): kullanıcı skerit için oturum kapalı

8
2017-07-08 09:40


Menşei


Ssh-config'ınızı ekleyebilir misiniz? - Bart De Vos
Tamam, config dosyası eklendi! - skerit
.Ssh ile ilgili izinler nasıl? Sunucuya ls -la ~ / .ssh yazabilir misiniz? - mkudlacek
Tamam, giriş yapmaya çalıştığım kullanıcının dosyalarının listesini ekledim. - skerit
Yetkili_Anahtarlar dünya çapında okunabilir olmamalı, ancak neden şifre ile giriş yapamadığınızı açıklamıyor. Yapabilir misin su skerit hesabınızda? - mkudlacek


Cevaplar:


Erişmeye çalıştığınız kullanıcı hesabının doğru yapılandırıldığından emin misiniz? Sistemde root olarak oturum açarsanız su kullanıcı hesabına

# su - username

Başarısız bir bağlantı denemesinden sonra günlüklerinde ne görüyorsun? Birçok sistemde, sshd bir şeye giriş yapar /var/log/secureveya /var/log/auth.log. Ayrıca, not ettim ki PasswordAuthentication etkin ama ChallengeResponseAuthentication Özürlü. Etkin olursanız aynı davranışı görüyor musunuz? ChallengeResponseAuthentication?

Ssh sorunlarınız olduğunda kullanmak için bazı genel tanılama adımları şunlardır:

  • Ssh'de ayrıntılı tanılamayı etkinleştir:

    ssh -v host.example.com
    

    Bu, istemcinin bağlantı konusunda görüştüğü sırada çeşitli tanılama iletileri vermesine neden olur. Bu genellikle problem için bir ipucu verir.

  • Sunucuyu hata ayıklama modunda çalıştırın.

    Sunucunuzda, sshd'yi durdurun, ardından aşağıdaki gibi komut satırından çalıştırın:

    /usr/sbin/sshd -d
    

    Bu, günlük hata ayıklama günlüğü oluşturur. stderr Çok sık yararlı bilgiler içerecektir.

Bunlardan hiçbiri ne olup bittiğini anlamaya yardım etmezse, çıkışı sorunuza ekler misiniz?


8
2017-07-08 10:03



Tamam, çıktıyı ekledim. Temel olarak: uzaktan giriş yaptığımda şifre düzgün değil, yerel bir giriş yapmayı denediğimde, şifrenin iyi olduğunu ve içeri girmemi sağladığını söylüyor. - skerit
O WAS şifre. Parolayı bir web konsolu (bazı java uygulamaları) kullanarak değiştirdim ve girilen parola, macun konsolumda yazdığımın IDENTICAL olmasına rağmen, bir şekilde ascii değerleri farklı olmalıydı. Daha basit bir şeye değiştirdim, macun ile doğru şekilde giriş yaptım ve tekrar değiştirdim. Şimdi çalışıyor. - skerit
@skerit - muhtemelen bir karakter kodlama sorunu vardı, o zaman - belki UTF8 vs ASCII? - warren
İşler duyduğuna sevindim! - larsks
DigitalOcean'ın web konsolundan bir şifre değişikliği yaptıktan sonra aynı sorunla karşılaştım. - Daniel