Linux sunucularında sıkça karşılaşılan SSH (Secure Shell) hataları, özellikle yeni kullanıcılar veya sunucu yöneticileri için baş ağrısına dönüşebilir. SSH, sunuculara uzak erişim sağlamak için kullanılan kritik bir protokoldür; dolayısıyla, bu bağlantılarda meydana gelen sorunlar, ciddi iş kesintilerine neden olabilir. Bu makalede, en yaygın SSH hatalarını ele alacak ve bunların nasıl çözülebileceği konusundaki adım adım yönlendirmeler sunacağız.
1. SSH Bağlantı Zaman Aşımı
Sorun
SSH bağlantınızın zaman aşımına uğradığını veya bağlantının kesildiğini görebilirsiniz. Bu tür sorunlar genellikle bağlantı sürelerinin sınırlı olduğu ağlarda meydana gelir.Çözüm
SSH ayar dosyasını değiştirerek bağlantı sürelerini uzatabilirsiniz. Bunun için şu adımları izleyin:1. Terminalinizi açın ve aşağıdaki komutla SSH konfigürasyon dosyanızı açın:
“`bash
sudo nano /etc/ssh/sshd_config
“`
2. Aşağıdaki satırları bulun ve değerlerini ihtiyacınıza göre değiştirin:
“`
ClientAliveInterval 60
ClientAliveCountMax 120
“`
3. Dosyayı kaydedin ve çıkın.
4. SSH servisini yeniden başlatarak değişiklikleri uygulayın:
“`bash
sudo systemctl restart sshd
“`
Bu ayarlar, sunucuya her 60 saniyede bir ping atılmasını ve maksimum 120 denemenin yapılmasını sağlar. Böylece, bağlantı daha uzun süre açık kalabilir.
2. SSH “Permission Denied” Hatası
Sorun
SSH bağlantınız sırasında “Permission denied” (İzin Reddedildi) hatası alabilirsiniz. Bu genellikle yanlış kullanıcı adı veya parola kullanımı nedeniyle oluşur.Çözüm
Bu hatayı çözmek için aşağıdaki adımları takip edin:1. Doğru kullanıcıyla giriş yaptığınızdan emin olun. Sunucu bağlantısı kurarken kullanıcı adınızı kontrol edin:
“`bash
ssh user@server_ip
“`
2. SSH kimlik doğrulama dosyalarını kontrol edin:
“`bash
ls -ld ~/.ssh && ls -l ~/.ssh/authorized_keys
“`
3. Dosya izinlerini kontrol edin. SSH dizininin ve authorized_keys dosyasının doğru izinlerle ayarlandığından emin olun:
“`bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
“`
4. SSH sunucu servisinin çalışıp çalışmadığını kontrol edin:
“`bash
sudo systemctl status ssh
“`
3. SSH “Connection Refused” Hatası
Sorun
“Connection refused” hatası genellikle SSH hizmetinin sunucuda çalışmadığı veya güvenlik duvarı ayarlarının SSH bağlantılarını engellediği anlamına gelir.Çözüm
Bu problemi çözmek için aşağıdaki adımları izleyin:1. SSH servisinin çalışıp çalışmadığını kontrol edin ve gerekirse başlatın:
“`bash
sudo systemctl start ssh
“`
2. Güvenlik duvarı ayarlarını kontrol edin ve port 22’nin açık olduğundan emin olun:
“`bash
sudo ufw allow ssh
“`
3. SSH hizmetini yeniden başlatın:
“`bash
sudo systemctl restart ssh
“`
4. Sunucunuzda herhangi bir özel güvenlik duvarı veya ağ yapılandırması olup olmadığını kontrol edin.
4. SSH Anahtarlarının Çalışmaması
Sorun
SSH anahtarlarının tanınmaması veya çalışmaması genellikle yanlış konfigürasyon veya eski anahtarlar nedeniyle oluşur.Çözüm
SSH anahtarlarını başarıyla kullanmak için şu adımları izleyin:1. SSH anahtarlarınızı oluşturun veya yeniden oluşturun:
“`bash
ssh-keygen -t rsa -b 4096 -C “[email protected]”
“`
2. Oluşturduğunuz anahtarın public kısmını sunucunuza ekleyin:
“`bash
ssh-copy-id user@server_ip
“`
3. Anahtarların doğru konumda ve doğru izinlerle ayarlandığından emin olun. Aşağıdaki izinlerin ayarlandığına dikkat edin:
“`bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
“`
4. SSH sunucu ayar dosyanızda anahtar tabanlı oturum açmayı etkinleştirdiğinizden emin olun:
“`bash
sudo nano /etc/ssh/sshd_config
“`
Dosyada PubkeyAuthentication yes yazdığından emin olun.
Linux sunucu yönetimi konusunda kendinizi geliştirdikçe, daha karmaşık sorunlara ve yapılandırmalara aşina olmak isteyebilirsiniz. Eğer kiralık sanal sunucu çözümleri arıyorsanız veya daha farklı hosting seçeneklerini değerlendirmek isterseniz, çeşitli barınma hizmetlerini inceleyebilirsiniz.
Yukarıdaki adımlar, en yaygın SSH sorunlarının çoğunu çözmenize yardımcı olacaktır. Önerilen çözümleri adım adım takip ederek daha güvenli ve kararlı bir SSH bağlantısı kurabilirsiniz. Ayrıca, ileri seviye kullanım için SSH yapılandırma dosyalarını daha ayrıntılı inceleyebilir ve sunucu ihtiyaçlarınıza göre özelleştirmeler yapabilirsiniz.


