Sorun açıklaması
SSH kullanarak bir Linux örneğine bağlandığınızda, doğru kullanıcı adı ve parolaya sahip olsanız bile bağlantı Permission denied, please try again mesajıyla başarısız olur.
Sorunu tanılama
-
VNC bağlantısı kullanarak bir ECS örneğine oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşede hedef örnek için bölgeyi ve kaynak grubunu seçin.
Hedef örneğin ayrıntılar sayfasına şuraya gidin: Connect tıklayın ve VNC seçeneğini belirleyin. ECS örneğinde oturum açmak için kimlik bilgilerinizi girin.
-
SSH hizmet yapılandırmasını kontrol edin.
Yapılandırmada
PermitRootLoginveyaPasswordAuthenticationparametresinoolarak ayarlanmışsa sorunu çözmek için bakın: Kullanım durumu 1: SSH yapılandırması oturum açmayı reddediyor.PermitRootLogin:noolarak ayarlanırsa bu parametre root kullanıcısının SSH üzerinden oturum açmasını engeller.PasswordAuthentication:noolarak ayarlanırsa bu parametre tüm kullanıcıların parola kimlik doğrulamasıyla oturum açmasını engeller.
sudo cat /etc/ssh/sshd_config -
Sistem güvenlik günlüklerini kontrol edin.
Bir SELinux ilkesi bir oturum açma girişimini engellediğinde sistem güvenlik günlüğünde bir hata mesajı kaydedilir.
Bir SELinux ilkesi, her işlemin dosyalar, bağlantı noktaları veya diğer kaynaklar üzerinde hangi işlemleri gerçekleştirebileceğini tanımlayan Zorunlu Erişim Denetimi kuralları kümesidir.
# For CentOS/RHEL systems sudo grep -iE --color=auto 'Could not get shadow information' /var/log/secure # For Debian/Ubuntu systems sudo grep -iE --color=auto 'Could not get shadow information' /var/log/auth.logKomut herhangi bir çıktı döndürmezse büyük olasılıkla neden bir SELinux ilkesidir. Bakın: Kullanım durumu 2: SELinux ilkesi oturum açmayı engelliyor.
Çözüm
Kullanım durumu 1: SSH yapılandırması oturum açmayı reddediyor
-
Yapılandırmayı değiştirin
sudo vi /etc/ssh/sshd_configParametreleri ihtiyaca göre ayarlayın:
Parola kimlik doğrulamasına izin verin:
PasswordAuthentication nodeğeriniPasswordAuthentication yesolarak değiştirin.-
Root kullanıcısı oturum açmasına izin verin:
Anahtar tabanlı kimlik doğrulamaya izin verin (Önerilen): Root oturum açma için bir anahtar çifti kullanmak üzere
PermitRootLogindeğeriniprohibit-passwordolarak ayarlayın.-
Parola kimlik doğrulamasına izin verin:
PermitRootLogin nodeğeriniPermitRootLogin yesolarak değiştirin.ÖnemliParola ile root oturum açmaya izin vermek (
PermitRootLogin yes) örneği kaba kuvvet saldırılarına karşı daha açık hale getirir. Bunun yerine anahtar tabanlı kimlik doğrulama kullanmanızı veya bakın: erişimi kaynak IP adresine göre kısıtlamanızı öneririz.
Dosyayı değiştirdikten sonra
Esctuşuna basın,:wqyazın ve dosyayı kaydedip çıkmak içinEntertuşuna basın. -
Yapılandırmayı kontrol edin ve hizmeti yeniden başlatın
-
Yapılandırma dosyasının sözdizimini doğrulayın. Çıktı olmaması sözdiziminin doğru olduğunu gösterir.
sudo sshd -t -
Değişiklikleri uygulamak için SSH hizmetini yeniden başlatın.
sudo systemctl restart sshd
-
-
Bağlantıyı doğrulayın
Sorunun çözüldüğünü doğrulamak için SSH kullanarak örneğe tekrar bağlanın.
Kullanım durumu 2: SELinux ilkesi oturum açmayı engelliyor
-
SELinux'un mevcut durumunu kontrol edin
SELinux'un
enforcingmodunda olup olmadığını kontrol edin.sudo sestatusÇıktı
SELinux statusdeğerinienabledveCurrent modedeğerinienforcingolarak gösteriyorsa SELinux ilkesi etkindir. -
Erişimi geri yüklemek için SELinux modunu geçici olarak değiştirin
SELinux'u geçici olarak
Permissivemoduna geçirin. Bu modda SELinux uyarıları günlüğe kaydeder ancak işlemleri engellemez.sudo setenforce 0ÖnemliBu değişiklik geçicidir ve örnek yeniden başlatıldığında sıfırlanır.
Komutu çalıştırdıktan sonra SSH kullanarak tekrar oturum açmayı deneyin. Başarılı bir oturum açma işleminin gerçekleşmesi SELinux'un soruna neden olduğunu doğrular.
-
SELinux yapılandırmasını kalıcı olarak değiştirin (İsteğe bağlı)
-
Yapılandırma dosyasını değiştirin. SELinux'un varsayılan modunu
enforcingdeğerindenpermissivedeğerine değiştirin.sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config Değişikliği uygulamak için örneği yeniden başlatın.
-
-
Bağlantıyı doğrulayın
Bağlantıyı doğrulamak için SSH kullanarak örneğe tekrar bağlanın.