Ssh sunucusunda oturum açma: İzin reddedildi, lütfen tekrar deneyin


9

Bir kullanıcı adı ve şifre kullanarak ssh sunucuma giriş yapmaya çalışıyorum, ancak doğru şifreyi girdikten sonra bu hatayı alıyorum:

Permission denied, please try again.

Ben yapabilirsiniz Ama başka makinede bir pubkey kullanarak giriş, ama normal şifre doğrulaması devre dışı DEĞİLDİR var. Devre dışı bıraktığım tek şey kök girişlerdi.

İşte sshd_config dosyam:

# Paket oluşturulmuş yapılandırma dosyası
# Ayrıntılar için sshd_config (5) kılavuzuna bakın

# Hangi bağlantı noktalarını, IP'leri ve protokolleri dinliyoruz
Port 22
# Sshd'nin bağlanacağı arabirimleri / protokolleri 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
#Privilege Separation güvenlik için açık
UsePrivilegeSeparation evet

# Geçici sürüm 1 sunucu anahtarının ömrü ve boyutu
Anahtar Yenileme Interval 3600
ServerKeyBits 768

# Kerestecilik
SyslogFacility AUTH
LogLevel BİLGİ

# Kimlik Doğrulama:
GirişGraceTime 120
PermitRootLogin no
StrictModes evet

RSA Doğrulama evet
PubkeyAuthentication evet
#AuthorizedKeysFile% h / .ssh / yetkili_anahtarlar

# Kullanıcının ~ / .rhosts ve ~ / .shosts dosyalarını okuma
IgnoreRhosts evet
# Bunun çalışması için / etc / ssh_known_hosts içinde ana bilgisayar anahtarlarına da ihtiyacınız olacak

Kimlik doğrulama no
# protokol sürüm 2 için benzer
Ana bilgisayar tabanlı Kimlik doğrulama no
# RhostsRSAAuthentication için ~ / .ssh / known_hosts'a güvenmiyorsanız rahatsızlık
#IgnoreUserKnownHosts evet

# Boş şifreleri etkinleştirmek için evet olarak değiştirin (ÖNERİLMEZ)
PermitEmptyPasswords no

# Sınama yanıtı şifrelerini etkinleştirmek için evet olarak değiştirin (
# bazı PAM modülleri ve konuları)
ChallengeResponseAuthentication no

# Tünelli açık metin şifrelerini devre dışı bırakmak için hayır olarak değiştirin
Parola Doğrulama evet

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

# GSSAPI seçenekleri
#GSSAPIA kimlik doğrulama no
#GSSAPICleanupCredentials evet

Yönlendirme evet
X11EkranOfset 10
PrintMotd hayır
PrintLastLog evet
TCPKeepAlive evet
#UseLogin no

#MaxStartuplar 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-server

# PAM kimlik doğrulamasını, hesap işlemeyi etkinleştirmek için bunu 'evet' olarak ayarlayın,
# ve oturum işleme. Bu etkinleştirilirse, PAM kimlik doğrulaması
# ChallengeResponseAuthentication ve
# PasswordAuthentication. PAM yapılandırmanıza bağlı olarak,
# ChallengeResponseAuthentication üzerinden PAM kimlik doğrulaması atlanabilir
# "Şifre olmadan PermitRootLogin" ayarı.
# PAM hesabı ve oturum kontrollerinin yalnızca
# PAM kimlik doğrulaması, ardından bunu etkinleştirin ancak PasswordAuthentication'ı ayarlayın
# ve ChallengeResponseOnaylama için 'hayır'.
UsePAM evet 
IgnoreUserKnownHosts hayır
Parola Doğrulama evet

Son 2 satırı en son çalışmayı ekledim. (Diğer vps'imde var ve orada çalışıyorlar)

İşte benim kullanıcı ~ / .ssh / dizinin 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 authority_keys
-rw-r - r-- 1 skerit skerit 884 2011-06-23 22:59 bilinen_hosts 

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

debug1: kullanıcı skerit hizmeti ssh-connection yöntemi için userauth-request yok
debug1: 0 hata teşebbüsü 0
debug1: PAM: "skerit" için başlatma
debug1: PAM: PAM_RHOST ayarını "82.197.70.70" olarak ayarlama
debug1: PAM: PAM_TTY değerini "ssh" olarak ayarlama
debug1: kullanıcı skerit servisi ssh-bağlantı yöntemi publickey için userauth-request
debug1: deneme 1 hata 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: genel anahtar dosyası deneniyor /home/skerit/.ssh/authorized_keys
debug1: fd 4 temizleme O_NONBLOCK
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1000/1000 (e = 0/0)
debug1: genel anahtar dosyası deneniyor /home/skerit/.ssh/authorized_keys2
debug1: '/home/skerit/.ssh/authorized_keys2' yetkili anahtarları açılamadı: Böyle bir dosya veya dizin yok
debug1: restore_uid: 0/0
Skerit için başarısız publickey 82.197.70.70 port 57154 ssh2
debug1: kullanıcı skerit servisi ssh-bağlantı yöntemi şifresi için userauth-request
debug1: deneme 2 hata 1
debug1: PAM: skerit için şifre kimlik doğrulaması başarısız oldu: Kimlik doğrulama hatası
Skerit için şifre başarısız oldu 82.197.70.70 port 57154 ssh2 

Daha sonra ssh sunucusundan (yerel olarak) ssh sunucusuna SAME kullanıcı adı ve parolasını kullanarak giriş yapmaya çalıştım ve çalıştı. Bu auth.log dosyasındaydı:

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

Ssh-config'inizi ekleyebilir misiniz?
Bart De Vos

Pekala, config dosyası eklendi!
skerit

.Ssh üzerindeki izinlere ne dersiniz? Sunucuya ls -la ~ / .ssh yazabilir misiniz?
mkudlacek

Tamam, giriş yapmaya çalıştığım kullanıcının dosyalarının listesini ekledim.
skerit

1
Authorized_keys dünya tarafından okunabilir olmamalı bence, ama neden şifre ile giriş yapamıyorsanız açıklamıyor. su skeritHesabınızda yapabilir misiniz ?
mkudlacek

Yanıtlar:


9

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

# su - username

Başarısız bir bağlantı girişiminden sonra günlüklerinizde ne görüyorsunuz? Birçok sistemde, sshd bir şeye oturum açar /var/log/secureveya /var/log/auth.log. Ayrıca, PasswordAuthenticationetkinleştirdiğinizi ancak ChallengeResponseAuthenticationdevre dışı bıraktığınızı unutmayın . Etkinleştirirseniz aynı davranışı görüyor musunuz ChallengeResponseAuthentication?

Ssh sorunlarınız olduğunda kullanabileceğiniz 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ıyı görüşürken çeşitli tanı iletileri vermesine neden olur. Bu genellikle soruna bir ipucu sağlayacaktır.

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

    Sunucunuzda sshd'yi durdurun, ardından komut satırından şu şekilde çalıştırın:

    /usr/sbin/sshd -d
    

    Bu, stderrgenellikle yararlı bilgiler içerecek ayrıntılı hata ayıklama günlüğü oluşturacaktır.

Bunların hiçbiri neler olup bittiğini anlamanıza yardımcı olmazsa, çıktıyı sorunuza ekler misiniz?


Tamam, çıktıyı ekledim. Temel olarak: bir uzaktan giriş yaptığımda parolanın iyi olmadığını söylüyor, yerel bir giriş yapmayı denediğimde parolanın tamam olduğunu ve
içeri girmemi

2
O WAS parola. Bir web konsolu (bazı java uygulaması) aracılığıyla şifreyi değiştirdim ve girilen şifre macun konsoluma yazdıklarımın KİMLİĞİ olmasına rağmen, ascii değerlerinin farklı olması gerekiyordu. Daha basit bir şeye değiştirdim, macunla 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

İşlerin işe yaradığını duyduğuma sevindim!
larsks

DigitalOcean'ın web konsolundan şifre değişikliği yaptıktan sonra @skerit ile aynı problemi yaşadı.
Daniel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.