SSH servisine bağlanırken, bazen komutları çalıştırmak için konsolun kullanılabilir hale gelmesini beklemek uzun sürebilir. Gecikmenin birçok nedeni olabilir ve bu kılavuzda bazı yaygın nedenler ve çözümleri ele alacağız.
Bu çözümler genellikle birbirleriyle ilişkili olmadığından, her birini ayrı ayrı ayarlamak ve çalıştığını doğrulamak daha iyidir, böylece gerçek nedeni daha kolay tespit edebilirsiniz.
Sağlanan komutlar Debian/Ubuntu için çalışmaktadır. CentOS/Alma/Rocky için bazı farklılıklar olabilir. Örneğin, hizmet "ssh" yerine "sshd" olarak adlandırılabilir, bu nedenle komutları çalıştırırken buna dikkat edin. Diğer her şey aynıdır.
1. En yaygın neden: DNS sunucusunu beklemek
SSH hizmetinin yapılandırma dosyasını açın:
nano /etc/ssh/sshd_config
UseDNS seçeneğini devre dışı bırakın, böylece IP adresinin ters çözümlemesini (PTR) yapmayı denemez:
UseDNS no
Değişiklikleri yaptıktan sonra, hizmeti yeniden başlatın:
service ssh restart
2. Bağlantı zaman aşımı belirtilmemiş
SSH hizmetinin yapılandırma dosyasını açın:
nano /etc/ssh/sshd_config
Aşağıdaki parametreyi ayarlayın:
LoginGraceTime 10s
Değişiklikleri yaptıktan sonra, hizmeti yeniden başlatın:
service ssh restart
3. Uzun gecikme systemd-logind hizmeti ile ilgili
Bu durumda, auth.log dosyasındaki günlük genellikle şu gibi olaylar içerir:
pam_systemd(sshd:session): Failed to create session: Connection timed out
Hizmetin durumunu kontrol edin:
systemctl status systemd-logind
Gerekirse, restart komutuyla hizmeti yeniden başlatın.
Eğer gecikme devam ediyorsa, vi veya nano kullanarak şu dosyayı açın:
/etc/pam.d/common-session
Şu satırı # işareti ile yorum satırı yapın:
#session optional pam_systemd.so
Ardından, hizmeti yeniden başlatın:
systemctl restart systemd-logind
Tekrar deneyin, ancak bu yapılandırma ile konsolun tam olarak çalışmayabileceğini unutmayın, bu nedenle bu yöntem geçici bir çözüm olarak değerlendirilmelidir.