Sorun açıklaması
Üçüncü taraf bir SSH istemcisi kullanarak bir Linux örneğine bağlanmaya çalıştığınızda, doğru kimlik bilgilerini girmenize rağmen bağlantı reddedilir. Aşağıdaki hata mesajlarından birini alırsınız:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic) # Error message 1: All attempted authentication methods were rejected by the server.
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) # Error message 2: No mutually supported authentication method was found.
Connection closed by XX.XX.XX.XX # Error message 3: The server closed the connection during the authentication phase.
Çözümler
Şifre tabanlı oturum açma hatası: Örnek yapılandırmasında şifre tabanlı oturum açmanın devre dışı bırakılmadığını doğrulayın.
-
Anahtar tabanlı oturum açma hatası:
Örnek yapılandırmasında anahtar tabanlı oturum açmanın devre dışı bırakılmadığını doğrulayın.
Genel anahtarın kullanıcının
~/.ssh/authorized_keysdosyasına doğru şekilde eklendiğinden emin olun.
Kullanım durumu 1: Şifre tabanlı oturum açma hatası
-
Elastic Compute Service (ECS) örneğinde oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşede, hedef kaynak için bölge ve kaynak grubunu seçin.
Örnek ayrıntıları sayfasına gidin, Connect düğmesini tıklayın ve VNC seçeneğini belirleyin. ECS örneğinde oturum açmak için kullanıcı adını ve şifreyi girin.
-
Şifre kimlik doğrulamasını etkinleştirin.
SSH yapılandırma dosyasını düzenleyin.
PasswordAuthenticationparametresininyesolarak ayarlandığından emin olun. Satır yorumlanmışsa (bir#işaretiyle başlıyorsa),#karakterini kaldırın.sudo vim /etc/ssh/sshd_config -
Değişiklikleri uygulamak için SSH hizmetini yeniden başlatın.
-
Alibaba Cloud Linux ve CentOS için:
sudo systemctl restart sshd.service -
Debian ve Ubuntu için:
sudo systemctl restart ssh.service
-
-
Düzeltmeyi doğrulayın.
SSH istemcinizden şifre ile tekrar bağlanmayı deneyerek düzeltmeyi doğrulayın.
Kullanım durumu 2: Anahtar tabanlı oturum açma hatası
-
ECS örneğinde oturum açın.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşede, hedef kaynak için bölge ve kaynak grubunu seçin.
Örnek ayrıntıları sayfasına gidin, Connect düğmesini tıklayın ve Workbench seçeneğini belirleyin. Oturum açmak ve terminale erişmek için ekrandaki talimatları izleyin.
-
Anahtar tabanlı oturum açmayı etkinleştirin.
-
SSH yapılandırma dosyasını düzenleyin.
sudo vim /etc/ssh/sshd_config -
Düzenleme modunda,
PubkeyAuthenticationparametresini bulun.Değer
noise veya satır yorumlanmışsa, anahtar tabanlı oturum açma devre dışı bırakılmış demektir. Yorum işaretini kaldırın, değeriyesolarak değiştirin, ardından dosyayı kaydedip çıkın.Değer
yesise, genel anahtarı kullanıcının authorized_keys dosyasına kopyalama
-
-
Genel anahtarı kullanıcının
authorized_keysdosyasına kopyalayın.Root kullanıcı
-
authorized_keysdosyasını düzenleyin.sudo vim /root/.ssh/authorized_keysHer anahtarı yeni bir satıra gelecek şekilde genel anahtarı dosyaya yapıştırın. Ardından dosyayı kaydedip kapatın.
-
Dosya izinlerini ayarlayın.
Yanlış izinler SSH oturum açma işleminin başarısız olmasına neden olabilir.
sudo chmod 700 /root/.ssh sudo chmod 600 /root/.ssh/authorized_keys
Root olmayan kullanıcı
Aşağıdaki komutlarda
<username>ifadesini hedef oturum açma kullanıcı adı ile değiştirin.-
authorized_keysdosyasını düzenleyin.sudo vim /home/<username>/.ssh/authorized_keysHer anahtarı yeni bir satıra gelecek şekilde genel anahtarı dosyaya yapıştırın. Ardından dosyayı kaydedip kapatın.
-
Dosya izinlerini ayarlayın.
Yanlış izinler SSH oturum açma işleminin başarısız olmasına neden olabilir.
sudo chown -R <username>:<username> /home/<username>/.ssh sudo chmod 700 /home/<username>/.ssh sudo chmod 600 /home/<username>/.ssh/authorized_keys
-
-
Değişiklikleri uygulamak için SSH hizmetini yeniden başlatın.
-
Alibaba Cloud Linux ve CentOS için:
sudo systemctl restart sshd.service -
Debian ve Ubuntu için:
sudo systemctl restart ssh.service
-
-
Düzeltmeyi doğrulayın.
SSH istemcinizden anahtar çifti ile tekrar bağlanmayı deneyerek düzeltmeyi doğrulayın.