# SSH Nedir? Temel SSH Komutları > SSH (Secure Shell), uzak bir sunucuya veya bilgisayara güvenli şekilde bağlanmayı sağlayan şifrelenmiş bir ağ protokolüdür. Sistem yöneticileri, yazılım geliştiriciler ve sunucu yöneten kullanıcılar tarafından en çok kullanılan uzaktan erişim yöntemlerinden biridir. SSH sayesinde internet üzerinden yapılan tüm veri alışverişi şifrelenerek üçüncü kişilerin iletişimi dinlemesi veya ele geçirmesi büyük ölçüde engellenir. - **HTML:** https://www.isimkayit.com/blog/ssh-nedir-temel-ssh-komutlari - **Site context:** [llms.txt](https://www.isimkayit.com/llms.txt) --- SSH Nedir? Temel SSH KomutlarıSSH (Secure Shell), uzak bir sunucuya veya bilgisayara güvenli şekilde bağlanmayı sağlayan şifrelenmiş bir ağ protokolüdür. Sistem yöneticileri, yazılım geliştiriciler ve sunucu yöneten kullanıcılar tarafından en çok kullanılan uzaktan erişim yöntemlerinden biridir. SSH sayesinde internet üzerinden yapılan tüm veri alışverişi şifrelenerek üçüncü kişilerin iletişimi dinlemesi veya ele geçirmesi büyük ölçüde engellenir. Günümüzde Linux sunucuların büyük çoğunluğu SSH üzerinden yönetilmektedir. Sunucuya fiziksel erişim gerektirmeden dosya yönetimi, servis kontrolü, kullanıcı işlemleri, yazılım kurulumu, güvenlik yapılandırmaları ve sistem güncellemeleri güvenli şekilde gerçekleştirilebilir. **Bilgi:** SSH, Telnet protokolünün güvenli alternatifi olarak geliştirilmiştir. Telnet'te bilgiler şifrelenmeden iletilirken, SSH tüm iletişimi güçlü şifreleme algoritmaları ile korur. SSH Nasıl Çalışır?SSH istemci (client) ve sunucu (server) mantığıyla çalışır. Kullanıcı bilgisayarından SSH istemcisi aracılığıyla uzak sunucudaki SSH servisine bağlantı kurulur. Kimlik doğrulaması başarıyla tamamlandıktan sonra kullanıcı, sunucuyu komut satırı üzerinden yönetebilir. SSH bağlantılarında kullanıcı adı ve parola kullanılabileceği gibi çok daha güvenli olan **SSH Anahtar (SSH Key)** doğrulama yöntemi de tercih edilebilir. Özellikle üretim sunucularında parola yerine anahtar doğrulaması kullanılması tavsiye edilmektedir. SSH Kullanmanın Avantajları - Sunuculara internet üzerinden güvenli erişim sağlar. - Tüm veri trafiği şifrelenerek korunur. - Linux ve Unix tabanlı sistemlerde standart olarak bulunur. - Dosya transferi (SCP ve SFTP) desteği sunar. - Sunucu yönetimini uzaktan kolaylaştırır. - Otomasyon ve script çalışmalarına uygundur. - SSH Key desteği sayesinde yüksek güvenlik sağlar. **Öneri:** İnternete açık sunucularda doğrudan **root** kullanıcısıyla giriş yapmak yerine normal bir kullanıcı oluşturup gerektiğinde **sudo** komutunu kullanmanız güvenlik açısından tavsiye edilir. En Çok Kullanılan SSH KomutlarıSSH bağlantısını kurduktan sonra sunucuyu yönetebilmek için Linux komutlarını bilmek büyük önem taşır. Aşağıda sistem yöneticilerinin en sık kullandığı temel SSH komutları ve kısa açıklamaları yer almaktadır. Dizin ve Dosya İşlemleripwdBulunduğunuz dizinin tam yolunu görüntüler. pwd lsBulunduğunuz klasör içerisindeki dosya ve dizinleri listeler. ls ls -la cdFarklı dizinler arasında geçiş yapmak için kullanılır. cd /home cd /var/www/html mkdirYeni klasör oluşturur. mkdir yedekler touchBoş bir dosya oluşturmak için kullanılır. touch test.txt cpDosya veya klasör kopyalamaya yarar. cp dosya.txt yedek.txt cp -r website website_backup mvDosya taşıma veya yeniden adlandırma işlemlerinde kullanılır. mv eski.txt yeni.txt mv dosya.txt /home/kullanici/ rmDosya veya klasör silmek için kullanılır. rm dosya.txt rm -rf klasoradi **Dikkat:** **rm -rf** komutu silinen dosyaları geri dönüşüm kutusuna göndermez. Yanlış kullanılması durumunda sistem dosyalarının tamamen silinmesine neden olabilir. Bu komutu kullanmadan önce bulunduğunuz dizini mutlaka kontrol edin. Dosya Görüntüleme ve Düzenleme KomutlarıcatDosyanın içeriğini ekrana yazdırır. cat dosya.txt nanoTerminal üzerinden dosya düzenlemeyi sağlayan, kullanımı kolay metin editörüdür. nano /etc/hosts headBir dosyanın ilk satırlarını görüntüler. head dosya.log tailBir dosyanın son satırlarını görüntüler. Özellikle log dosyalarını takip etmek için oldukça kullanışlıdır. tail dosya.log tail -f /var/log/messages **Bilgi:** **tail -f** komutu, log dosyasını gerçek zamanlı olarak takip etmenizi sağlar. Sunucu sorunlarını analiz ederken en sık kullanılan SSH komutlarından biridir. Sunucu ve Servis Yönetiminde Kullanılan SSH KomutlarıLinux sunucularda çalışan servisleri yönetmek, sistem kaynaklarını takip etmek ve olası problemlere hızlı müdahale edebilmek için bazı temel komutların bilinmesi gerekir. Aşağıdaki komutlar sistem yöneticilerinin en sık kullandığı SSH komutları arasında yer alır. Servis YönetimisystemctlSystemd kullanan Linux dağıtımlarında servisleri başlatmak, durdurmak ve durumlarını kontrol etmek için kullanılır. systemctl status httpd systemctl restart httpd systemctl start nginx systemctl stop mysql serviceEski Linux dağıtımlarında veya uyumluluk amacıyla servis yönetiminde kullanılmaktadır. service httpd restart service mysql status Sistem Kaynaklarını İzlemepsSunucuda çalışan işlemleri görüntüler. ps aux ps -ef topİşlemci, bellek ve çalışan işlemleri gerçek zamanlı olarak görüntüler. top dfDisk kullanım durumunu gösterir. df -h duDosya ve klasörlerin kapladığı disk alanını hesaplar. du -sh /home/* freeSunucudaki RAM ve Swap kullanımını görüntüler. free -h unameİşletim sistemi ve çekirdek (kernel) bilgilerini görüntüler. uname -a **Bilgi:** **df -h** ve **free -h** komutları, sunucuda performans sorunu yaşandığında ilk kontrol edilmesi gereken komutlar arasında yer alır. İşlem (Process) YönetimikillPID (Process ID) numarasını kullanarak çalışan bir işlemi sonlandırır. kill 12345 killallAynı isimde çalışan tüm işlemleri sonlandırır. killall httpd watchBelirtilen komutu belirli aralıklarla otomatik olarak çalıştırır ve sonucu sürekli günceller. watch df -h watch free -h Kullanıcı YönetimiwhoSunucuya o anda bağlı olan kullanıcıları listeler. who passwdKullanıcı parolasını değiştirmek için kullanılır. passwd passwd kullaniciadi **Öneri:** Sunucu güvenliği için tahmin edilmesi zor, güçlü parolalar kullanın ve mümkün olduğunda SSH anahtar (SSH Key) doğrulamasını tercih edin. Ayrıca root kullanıcısıyla doğrudan giriş yerine yetkili bir kullanıcı hesabı üzerinden **sudo** kullanmanız daha güvenli olacaktır. SSH Kullanırken Dikkat Edilmesi Gereken Güvenlik ÖnlemleriSSH, güvenli bağlantı sağlamak amacıyla geliştirilmiş bir protokol olsa da yanlış yapılandırılması durumunda yetkisiz erişim girişimlerine karşı savunmasız hale gelebilir. Özellikle internet üzerinden erişilebilen sunucularda SSH güvenliği büyük önem taşımaktadır. Aşağıdaki güvenlik önlemleri, sunucunuzun güvenliğini önemli ölçüde artıracaktır. **Önemli Bilgi** Sunuculara yönelik gerçekleştirilen otomatik saldırıların büyük bölümü doğrudan SSH servisini hedef almaktadır. Bu nedenle varsayılan ayarlarla SSH kullanılması önerilmez. 1. Root Kullanıcısı ile Doğrudan Giriş YapmayınLinux sunucularda en yetkili kullanıcı **root** hesabıdır. Güvenlik açısından doğrudan root kullanıcısıyla giriş yapmak yerine normal bir kullanıcı oluşturup gerektiğinde **sudo** yetkisi kullanılması tavsiye edilir. sudo adduser kullaniciadi 2. Şifre Yerine SSH Anahtarı KullanınSSH anahtar doğrulaması, klasik parola kullanımına göre çok daha güvenlidir. Anahtar tabanlı doğrulama sayesinde kaba kuvvet (Brute Force) saldırılarının büyük bölümü engellenebilir. ssh-keygen -t ed25519 Oluşturulan public anahtar sunucuya kopyalandıktan sonra parola ile giriş devre dışı bırakılabilir. 3. Varsayılan SSH Portunu DeğiştirinSSH varsayılan olarak 22 numaralı port üzerinden çalışmaktadır. İnternet üzerindeki otomatik taramaların büyük kısmı bu portu hedef aldığı için farklı bir port kullanmak güvenliği artırabilir. Port 2222 Port değişikliği sonrasında güvenlik duvarı kurallarının da güncellenmesi gerekir. 4. Gereksiz Kullanıcıları Devre Dışı BırakınSSH erişimi yalnızca ihtiyaç duyan kullanıcılarla sınırlandırılmalıdır. Kullanılmayan hesaplar silinmeli veya erişimleri kapatılmalıdır. 5. Fail2Ban KullanınFail2Ban, başarısız giriş denemelerini izleyerek belirli sayıda hatalı parola girişinden sonra ilgili IP adresini otomatik olarak engeller. SSH sunucularında en çok kullanılan güvenlik araçlarından biridir. **İpucu** SSH erişimini yalnızca belirli IP adreslerine izin verecek şekilde güvenlik duvarı kuralları oluşturmanız, sunucu güvenliğini önemli ölçüde artıracaktır. SSH Kullanımında Sık Yapılan Hatalar - Zayıf veya tahmin edilebilir parolalar kullanmak. - Root kullanıcısıyla sürekli oturum açmak. - Sunucu güncellemelerini ihmal etmek. - SSH servisini internetten tamamen erişilebilir bırakmak. - SSH loglarını düzenli olarak kontrol etmemek. - Güvenlik duvarı kullanmamak. SonuçSSH, Linux ve Unix tabanlı sunucuların uzaktan güvenli şekilde yönetilebilmesini sağlayan en önemli yönetim araçlarından biridir. Dosya yönetiminden servis kontrolüne, kullanıcı işlemlerinden sistem bakımına kadar birçok görev yalnızca SSH bağlantısı üzerinden gerçekleştirilebilir. Temel SSH komutlarını öğrenmek, sunucu yönetiminde hız kazandırırken güvenlik önlemlerini doğru uygulamak ise sisteminizi yetkisiz erişimlere karşı korumanıza yardımcı olur. Özellikle anahtar tabanlı kimlik doğrulama, güçlü parola politikaları ve düzenli güncellemeler ile SSH çok güvenli bir yönetim ortamı sunmaktadır. Özet Komutlar ssh kullanici@sunucu_ip cd ls pwd mkdir touch nano rm cp mv tar zip unzip gunzip df -h ps aux top tail head who passwd service systemctl kill killall watch wget reboot shutdown **İSİMKAYIT Yardım Merkezi** Bu makalede SSH protokolünün ne olduğu, temel kullanım amacı, en sık kullanılan SSH komutları ve güvenli kullanım için uygulanması gereken önemli güvenlik önlemleri ele alınmıştır. SSH komutlarını doğru kullanarak Linux sunucularınızı güvenli ve verimli bir şekilde yönetebilirsiniz.