Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası SSH Linux SSH Kodları: Temel Komutlar v...

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

Linux SSH Kodları: Temel Komutlar ve Kullanımı

SSH (Secure Shell), ağ üzerinden güvenli bir şekilde başka bir bilgisayara bağlanmamızı sağlayan bir protokoldür. Linux sistem yöneticileri ve geliştiricileri için vazgeçilmez bir araçtır. Bu makalede, SSH'in ne olduğunu, nasıl çalıştığını, temel komutlarını ve kullanımını detaylı bir şekilde inceleyeceğiz. Amacımız, yeni başlayanlardan ileri düzey kullanıcılara kadar herkesin SSH hakkında kapsamlı bir bilgiye sahip olmasını sağlamaktır.

1. SSH'e Giriş: Temel Kavramlar ve Çalışma Prensibi

1.1. SSH Nedir?

SSH (Secure Shell), iki bilgisayar arasında şifrelenmiş bir bağlantı kurarak veri alışverişini güvenli hale getiren bir ağ protokolüdür. Temel olarak, uzak bir sunucuya erişmek, komut çalıştırmak ve dosya transferi yapmak için kullanılır. SSH, telnet ve rsh gibi daha eski ve güvensiz protokollerin yerini almıştır.

1.2. SSH'in Çalışma Prensibi

SSH, istemci-sunucu mimarisine dayanır. Bir SSH istemcisi (örneğin, bir bilgisayar), bir SSH sunucusuna (örneğin, bir uzak sunucu) bağlanır. Bağlantı kurulurken aşağıdaki adımlar izlenir:

  1. İstemci bağlantı isteği gönderir: İstemci, sunucuya bir bağlantı isteği gönderir.
  2. Sunucu kimlik doğrulama bilgileri ister: Sunucu, istemciden kimlik doğrulama bilgileri ister (örneğin, kullanıcı adı ve parola veya SSH anahtarı).
  3. Kimlik doğrulama: İstemci, kimlik doğrulama bilgilerini sunucuya gönderir.
  4. Bağlantı kurulur: Kimlik doğrulama başarılı olursa, sunucu ve istemci arasında şifrelenmiş bir bağlantı kurulur.

Bu süreçte, tüm veri alışverişi şifrelenir, böylece yetkisiz kişilerin verileri ele geçirmesi engellenir.

1.3. SSH'in Avantajları

  • Güvenlik: Veri şifrelemesi sayesinde güvenli bir bağlantı sağlar.
  • Uzak Erişim: Uzak sunuculara kolayca erişim imkanı sunar.
  • Dosya Transferi: Güvenli dosya transferi için kullanılabilir (SCP, SFTP).
  • Port Yönlendirme (Tünelleme): Güvenli olmayan protokolleri güvenli bir şekilde kullanma imkanı verir.
  • Otomasyon: Komut dosyalarıyla otomatik görevler gerçekleştirilebilir.

2. Temel SSH Komutları ve Kullanımı

2.1. ssh Komutu

ssh komutu, SSH bağlantısı kurmak için kullanılan temel komuttur. Temel kullanımı şöyledir:

ssh [kullanıcıadı]@[sunucu_adresi]

Örneğin:

ssh [email protected]

Bu komut, kullaniciadi kullanıcısı olarak example.com adresindeki sunucuya bağlanmayı dener.

2.2. Parola ile Kimlik Doğrulama

Yukarıdaki komutu çalıştırdığınızda, sunucu sizden parola isteyecektir. Doğru parolayı girdiğinizde, sunucuya bağlanabilirsiniz.

2.3. SSH Anahtarı ile Kimlik Doğrulama

Parola ile kimlik doğrulama güvenli olsa da, SSH anahtarları daha güvenli ve kullanışlı bir alternatiftir. SSH anahtarları, bir çift anahtardan oluşur: bir özel anahtar (gizli tutulmalıdır) ve bir genel anahtar (sunucuya yüklenebilir).

Adım 1: Anahtar Çifti Oluşturma

ssh-keygen -t rsa -b 4096

Bu komut, 4096 bitlik bir RSA anahtar çifti oluşturur. Komut sizden bir dosya adı (varsayılan olarak ~/.ssh/id_rsa) ve bir parola (isteğe bağlı) isteyecektir.

Adım 2: Genel Anahtarı Sunucuya Yükleme

ssh-copy-id [email protected]

Bu komut, genel anahtarınızı (~/.ssh/id_rsa.pub) sunucudaki ~/.ssh/authorized_keys dosyasına kopyalar. Bu işlem sırasında parolanızı girmeniz gerekebilir.

Adım 3: SSH ile Bağlanma

ssh [email protected]

Artık sunucuya parola girmeden, SSH anahtarı ile bağlanabilirsiniz.

2.4. scp Komutu (Secure Copy)

scp komutu, SSH üzerinden güvenli bir şekilde dosya transferi yapmak için kullanılır. Temel kullanımı şöyledir:

scp [seçenekler] [kaynak] [hedef]

Örneğin, yerel bir dosyayı sunucuya kopyalamak için:

scp dosya.txt [email protected]:/home/kullaniciadi/

Sunucudan yerel bir dosyayı indirmek için:

scp [email protected]:/home/kullaniciadi/dosya.txt .

Buradaki "." (nokta), mevcut dizini temsil eder.

2.5. sftp Komutu (Secure FTP)

sftp komutu, SSH üzerinden güvenli bir FTP oturumu başlatmak için kullanılır. Temel kullanımı şöyledir:

sftp [email protected]

Bu komut, sunucuya bağlanır ve bir FTP benzeri arayüz sağlar. Bu arayüzde, get (indirme), put (yükleme), ls (listeleme) ve cd (dizin değiştirme) gibi FTP komutlarını kullanabilirsiniz.

2.6. Port Yönlendirme (Tünelleme)

SSH tünelleme, güvenli olmayan bir bağlantıyı SSH üzerinden güvenli bir şekilde yönlendirmek için kullanılır. Örneğin, yerel bir portu uzak bir sunucudaki bir porta yönlendirebilirsiniz.

Yerel Port Yönlendirme

ssh -L [yerel_port]:[hedef_sunucu]:[hedef_port] [kullanıcıadı]@[sunucu_adresi]

Örneğin, yerel makinenizdeki 8080 portunu, uzak sunucudaki 80 portuna yönlendirmek için:

ssh -L 8080:localhost:80 [email protected]

Uzak Port Yönlendirme

ssh -R [uzak_port]:[hedef_sunucu]:[hedef_port] [kullanıcıadı]@[sunucu_adresi]

3. SSH Konfigürasyonu

3.1. ~/.ssh/config Dosyası

~/.ssh/config dosyası, SSH istemci ayarlarını yapılandırmak için kullanılır. Bu dosya sayesinde, sık kullanılan sunucular için takma adlar tanımlayabilir, kimlik doğrulama yöntemlerini belirleyebilir ve diğer ayarları özelleştirebilirsiniz.

Örneğin:

Host sunucu1
    HostName example.com
    User kullaniciadi
    IdentityFile ~/.ssh/id_rsa
    Port 2222

Bu konfigürasyon ile, ssh sunucu1 komutunu kullanarak example.com adresindeki sunucuya kullaniciadi kullanıcısı ile, ~/.ssh/id_rsa özel anahtarını kullanarak ve 2222 portundan bağlanabilirsiniz.

3.2. /etc/ssh/sshd_config Dosyası

/etc/ssh/sshd_config dosyası, SSH sunucu ayarlarını yapılandırmak için kullanılır. Bu dosya sayesinde, SSH sunucusunun hangi portu dinleyeceğini, hangi kimlik doğrulama yöntemlerini destekleyeceğini ve diğer güvenlik ayarlarını belirleyebilirsiniz.

Önemli ayarlar:

  • Port: SSH sunucusunun dinleyeceği portu belirtir (varsayılan olarak 22).
  • ListenAddress: SSH sunucusunun hangi IP adreslerini dinleyeceğini belirtir.
  • PermitRootLogin: Root kullanıcısının doğrudan SSH ile bağlanmasına izin verilip verilmeyeceğini belirtir. (Güvenlik nedeniyle "no" olarak ayarlanması önerilir.)
  • PasswordAuthentication: Parola ile kimlik doğrulamanın etkin olup olmadığını belirtir. (SSH anahtarı kullanılıyorsa "no" olarak ayarlanması önerilir.)
  • PubkeyAuthentication: SSH anahtarı ile kimlik doğrulamanın etkin olup olmadığını belirtir.
  • AllowUsers: SSH ile bağlanmasına izin verilen kullanıcıları belirtir.
  • DenyUsers: SSH ile bağlanmasına izin verilmeyen kullanıcıları belirtir.

Bu dosyayı değiştirdikten sonra, SSH sunucusunu yeniden başlatmanız gerekir:

sudo systemctl restart sshd

4. SSH Güvenliği

4.1. Güçlü Parolalar Kullanma

Parola ile kimlik doğrulama kullanıyorsanız, güçlü ve benzersiz parolalar kullanmak önemlidir. Parolalarınızda büyük harf, küçük harf, rakam ve sembollerin bir kombinasyonunu kullanın ve kolay tahmin edilebilir kelimelerden kaçının.

4.2. SSH Anahtarı Kullanma

SSH anahtarları, parolalara göre daha güvenli bir kimlik doğrulama yöntemidir. SSH anahtarı kullanmak, brute-force saldırılarına karşı daha iyi koruma sağlar.

4.3. Root Girişini Engelleme

/etc/ssh/sshd_config dosyasında PermitRootLogin no ayarını yaparak root kullanıcısının doğrudan SSH ile bağlanmasını engelleyin. Bunun yerine, normal bir kullanıcı ile bağlanıp sudo komutunu kullanarak root yetkilerine yükselin.

4.4. Portu Değiştirme

Varsayılan SSH portu (22) yerine farklı bir port kullanmak, otomatik saldırıları engellemeye yardımcı olabilir. /etc/ssh/sshd_config dosyasında Port ayarını değiştirin.

4.5. Firewall Kullanma

Firewall (örneğin, ufw veya iptables) kullanarak SSH portuna sadece belirli IP adreslerinden erişime izin verin.

4.6. Düzenli Olarak Güncelleme

SSH sunucusu ve istemcisini düzenli olarak güncelleyerek güvenlik açıklarını kapatın.

5. Gerçek Hayattan Örnekler ve Vaka Çalışmaları

5.1. Web Sunucusuna Uzak Erişim

Bir web sunucusunu yönetmek için SSH kullanmak yaygın bir uygulamadır. Geliştiriciler, SSH ile sunucuya bağlanarak kod güncellemeleri yapabilir, veritabanını yönetebilir ve sunucu ayarlarını yapılandırabilirler.

Örnek: Bir web geliştiricisi, yeni bir web sitesi sürümünü sunucuya yüklemek için SSH kullanır. scp komutu ile dosyaları sunucuya kopyalar ve SSH üzerinden sunucuya bağlanarak gerekli yapılandırma değişikliklerini yapar.

5.2. Veritabanı Yönetimi

Veritabanı sunucularına uzaktan erişmek ve veritabanını yönetmek için SSH kullanılabilir. SSH tünelleme ile güvenli bir bağlantı üzerinden veritabanına erişilebilir.

Örnek: Bir veritabanı yöneticisi, uzak bir veritabanı sunucusuna SSH tünelleme ile bağlanarak veritabanı yedeklemesi alır ve veritabanı performansını izler.

5.3. Bulut Sunucu Yönetimi

Bulut sunucularına erişmek ve yönetmek için SSH yaygın olarak kullanılır. Bulut sağlayıcıları genellikle SSH anahtarı ile kimlik doğrulama yöntemini önerirler.

Örnek: Bir sistem yöneticisi, Amazon EC2 veya Google Cloud Compute Engine gibi bir bulut sunucusuna SSH ile bağlanarak sunucuyu yapılandırır, güvenlik duvarı ayarlarını yapar ve gerekli yazılımları yükler.

6. SSH İstatistikleri ve Karşılaştırmalar

6.1. SSH Protokol Sürümleri Karşılaştırması

SSH protokolünün iki ana sürümü vardır: SSH-1 ve SSH-2. SSH-2, SSH-1'e göre daha güvenli ve daha gelişmiştir.

Özellik SSH-1 SSH-2
Güvenlik Daha az güvenli (güvenlik açıkları bulundu) Daha güvenli (daha güçlü şifreleme algoritmaları)
Kimlik Doğrulama Sınırlı kimlik doğrulama yöntemleri Daha fazla kimlik doğrulama yöntemi (örneğin, GSSAPI)
Destek Artık yaygın olarak desteklenmiyor Yaygın olarak destekleniyor ve öneriliyor

6.2. SSH Kullanım İstatistikleri

SSH, ağ yöneticileri ve sistem mühendisleri arasında en popüler uzak erişim protokollerinden biridir. Güvenliği ve esnekliği sayesinde, birçok farklı alanda kullanılmaktadır.

Alan Kullanım Oranı (Tahmini)
Web Sunucu Yönetimi %80
Veritabanı Yönetimi %70
Bulut Sunucu Yönetimi %90
Ağ Cihazı Yönetimi %60

7. Görsel Açıklamalar

SSH Bağlantı Şeması (Metinsel Açıklama):

Bir SSH bağlantısı, bir istemci (örneğin, kullanıcının bilgisayarı) ve bir sunucu (örneğin, uzak bir sunucu) arasında kurulur. İstemci, sunucuya bir bağlantı isteği gönderir. Sunucu, istemciden kimlik doğrulama bilgileri ister. İstemci, kimlik doğrulama bilgilerini sunucuya gönderir. Kimlik doğrulama başarılı olursa, sunucu ve istemci arasında şifrelenmiş bir bağlantı kurulur. Tüm veri alışverişi bu şifrelenmiş bağlantı üzerinden gerçekleşir.

8. Sık Sorulan Sorular

  • 8.1. SSH portu neden 22'dir?
  • 22 portu, IANA (Internet Assigned Numbers Authority) tarafından SSH için ayrılmış olan standart porttur. Ancak, güvenlik nedeniyle bu portu değiştirmek mümkündür.
  • 8.2. SSH anahtarı nasıl oluşturulur?
  • ssh-keygen komutu ile SSH anahtarı oluşturulur. Bu komut, bir özel anahtar ve bir genel anahtar oluşturur. Özel anahtar gizli tutulmalı, genel anahtar ise sunucuya yüklenmelidir.
  • 8.3. SSH tünelleme nedir ve nasıl kullanılır?
  • SSH tünelleme, güvenli olmayan bir bağlantıyı SSH üzerinden güvenli bir şekilde yönlendirmek için kullanılır. Örneğin, yerel bir portu uzak bir sunucudaki bir porta yönlendirebilirsiniz.
  • 8.4. SSH bağlantısı neden reddediliyor?
  • SSH bağlantısı reddedilmesinin birkaç nedeni olabilir: yanlış kullanıcı adı veya parola, SSH sunucusunun çalışmaması, firewall'ın SSH portunu engellemesi veya SSH sunucusunun yapılandırmasında bir sorun olması.
  • 8.5. SSH güvenliğini nasıl artırabilirim?
  • SSH güvenliğini artırmak için güçlü parolalar kullanın, SSH anahtarı kullanın, root girişini engelleyin, portu değiştirin, firewall kullanın ve SSH sunucusunu düzenli olarak güncelleyin.

9. Sonuç ve Özet

SSH, uzak sistemlere güvenli bir şekilde erişmek ve yönetmek için vazgeçilmez bir araçtır. Bu makalede, SSH'in temel kavramlarını, komutlarını, konfigürasyonunu ve güvenliğini detaylı bir şekilde inceledik. SSH'i doğru bir şekilde kullanarak, sistemlerinizi güvenli bir şekilde yönetebilir ve ağınızın güvenliğini artırabilirsiniz. Unutmayın, güvenlik her zaman öncelikli olmalıdır ve SSH'i kullanırken en iyi uygulamaları takip etmek önemlidir.

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(1108 defa görüntülendi. / 65 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Top