Sorun Açıklaması
Uzaktan oturum açma başarısız oldu: PuTTY, XShell veya SecureCRT gibi üçüncü taraf bir Secure Shell (SSH) istemcisi kullanarak bir Linux örneğine bağlanmaya çalıştığınızda bağlantı,
Access deniedveyaPermission denied, please try again.hatasıyla başarısız olur.Sistem güvenlik günlüğü: Sistem günlük dosyası
/var/log/secureiçindenot allowed becausegibi mesajlar bulunur.
Neden
Varsayılan olarak, bir Linux örneğindeki SSH hizmeti herhangi bir sistem kullanıcısının kimlik bilgileriyle (parola veya anahtar) oturum açmasına izin verir. SSH hizmeti yapılandırma dosyası /etc/ssh/sshd_config içinde oturum açma kısıtlama ilkeleri etkinleştirilmişse, hatalı yapılandırmalar belirli kullanıcıların örnekte oturum açmasını engelleyebilir.
AllowUsers: Kullanıcı beyaz listesi. Listede yer alan kullanıcılar yalnızca bu listedekiler oturum açabilir.
DenyUsers: Kullanıcı kara listesi. Listede yer alan kullanıcıların oturum açma erişimi reddedilir.
AllowGroups: Kullanıcı grubu beyaz listesi. Listelenen gruplardaki kullanıcılar yalnızca bu gruplardakiler oturum açabilir.
DenyGroups: Kullanıcı grubu kara listesi. Listelenen gruplardaki kullanıcıların oturum açma erişimi reddedilir.
Reddetme ilkelerinin (Deny*) önceliği, izin verme ilkelerinden (Allow*) daha yüksektir. Bir kullanıcı hem bir izin ilkesi hem de bir reddetme ilkesiyle eşleşiyorsa erişim reddedilir.
Çözüm
-
Bir ECS örneğine VNC bağlantısı kullanarak oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşeden hedef örnek için bölge ve kaynak grubunu seçin.
Hedef örneğin ayrıntılar sayfasına şuraya gidin. Connect seçeneğini tıklayın ve VNC seçeneğini belirleyin. ECS örneğinde oturum açmak için kimlik bilgilerinizi girin.
-
SSH yapılandırma dosyasını kontrol edin ve değiştirin.
-
Bir hata oluşması durumunda geri yükleyebilmeniz için yapılandırma dosyasının yedeklemesini alın.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak -
Erişim kontrolü ilkelerini bulun ve ayarlayın.
sudo vi /etc/ssh/sshd_configDosyayı aşağıdaki yöntemlerden biriyle değiştirin:
-
Yöntem 1: Tüm kısıtlama kurallarını yorum satırı yapın
Oturum açma kısıtlamalarını kaldırmak için
AllowUsers,DenyUsers,AllowGroupsveDenyGroupsparametrelerinin her satırının başına#sembolü ekleyerek bunları yorum satırı haline getirin. Bu işlem tüm sistem kullanıcılarının oturum açmasına olanak tanır.# AllowUsers userA userB # DenyUsers userC -
Yöntem 2: Kısıtlama kurallarını düzeltin
İlkelerinizin belirsiz olmamasını sağlamak amacıyla beyaz liste (
Allow*) ve kara liste (Deny*) kurallarını aynı anda kullanmaktan kaçının.-
Beyaz liste ilkesi kullanın (yalnızca birkaç belirli kullanıcının oturum açmasına izin verilen senaryolar için)
Yalnızca
AllowUsersveyaAllowGroupsparametresini tutun. Oturum açma erişimi gereken kullanıcıları veya kullanıcı gruplarını listeye ekleyin. Ardından tümDeny*parametrelerini yorum satırı haline getirin veya silin.AllowUsers userA userB newUser # DenyUsers userCBu örnek, yalnızca
userA,userBvenewUserkullanıcılarının oturum açmasına izin verir ve diğer tüm kullanıcıların erişimini reddeder. -
Kara liste ilkesi kullanın (yalnızca birkaç belirli kullanıcının oturum açma erişiminin reddedilmesi gereken senaryolar için)
Yalnızca
DenyUsersveyaDenyGroupsparametresini tutun. Engellemek istediğiniz kullanıcıları veya kullanıcı gruplarını listeye ekleyin. Ardından tümAllow*parametrelerini yorum satırı haline getirin veya silin.# AllowUsers userA userB DenyUsers userC userDBu örnek,
userCveuserDkullanıcılarının erişimini reddederken diğer tüm kullanıcıların oturum açmasına izin verir.
-
-
-
-
Yeni yapılandırmayı uygulamak için SSH hizmetini yeniden başlatın.
sudo systemctl restart sshd.serviceHizmet başlatılamazsa yapılandırma dosyasını yedeklemeden geri yüklemek için
cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_configkomutunu çalıştırın. Sorunun çözüldüğünü doğrulamak için üçüncü taraf SSH istemcinizle örnekte tekrar oturum açmayı deneyin.