Bu sayfa Google Translate ile otomatik çevrilmiştir. Özgün metin Türkçedir. Özgün dile dön

Komut Referansı

Linux ssh Komutu ile Uzak Bağlantı

Linux ssh Komutu ile Uzak Bağlantı

Linux tabanlı sistemlerin yönetiminde en sık başvurulan yöntem, komut satırı üzerinden uzak sunucuya erişmektir. Bu erişimi sağlayan en temel ve standart araç ise ssh komutudur. Güvensiz ağlar üzerinden iki sistem arasında şifrelenmiş bir iletişim kanalı kuran bu komut, hem sistem yöneticilerinin hem de geliştiricilerin bilmesi gereken en kritik araçlar arasında yer alır.

SSH Protokolü ve ssh Komutu Nedir?

SSH (Secure Shell), uzak bir bilgisayardaki komut satırına güvenli biçimde erişmek, uzaktan komut çalıştırmak veya dosya aktarımı yapmak için kullanılan bir ağ protokolüdür. Geçmişte yaygın olarak kullanılan Telnet ve Rlogin gibi protokollerin aksine, verileri düz metin (cleartext) olarak göndermez. Kullanıcı kimlik bilgileri de dahil olmak üzere istemci ile sunucu arasındaki tüm veri akışını güçlü kriptografik algoritmalarla şifreler.

İstemci tarafında yer alan ssh komutu, bu protokolü kullanarak hedef sistemdeki SSH sunucusuna (genellikle OpenSSH sshd servisi) bağlanmayı sağlar. Varsayılan olarak TCP 22 portu üzerinden iletişim kurulur.

Temel ssh Komutu Kullanımı

Bir sunucuya bağlanmanın en yalın hali, hedef sistemdeki kullanıcı adını ve sunucunun IP adresini veya alan adını belirtmektir.

ssh kullanici_adi@sunucu_ip_adresi

Örneğin, yerel ağınızdaki 192.168.1.50 IP adresine sahip bir Linux sunucuya ahmet kullanıcısı ile bağlanmak için şu komut girilir:

ssh ahmet@192.168.1.50

Hedef sunucuya ilk kez bağlanıldığında, terminalde sunucunun kimlik izini (fingerprint) doğrulamanızı isteyen bir uyarı görünür:

The authenticity of host '192.168.1.50 (192.168.1.50)' can't be established.
ED25519 key fingerprint is SHA256:abcd1234efgh...
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Bu uyarıya yes yanıtı verildiğinde, sunucunun açık anahtarı istemci tarafındaki ~/.ssh/known_hosts dosyasına kaydedilir ve ardından parola istenir. Sonraki bağlantılarda anahtar eşleştiği sürece bu onay ekranı tekrar çıkmaz.

Eğer mevcut yerel kullanıcınız ile uzak sunucudaki kullanıcı adınız aynıysa, kullanıcı adını yazmadan yalnızca IP adresini belirterek de bağlantı başlatabilirsiniz:

ssh 192.168.1.50

Sık Kullanılan ssh Parametreleri ve Seçenekleri

Standart bağlantıların yanı sıra, farklı senaryolara yönelik çeşitli parametreler kullanılır.

Farklı Port Belirtme (-p)

Güvenlik amacıyla sunucularda SSH portu genellikle 22 yerine farklı bir port olarak ayarlanır. Hedef sunucu standart dışı bir port kullanıyorsa -p parametresi eklenir:

ssh -p 2222 ahmet@192.168.1.50

Bu komut, varsayılan 22 portu yerine hedef makinenin 2222 numaralı portuna bağlantı isteği gönderir.

Hata Ayıklama ve Ayrıntılı Çıktı (-v)

Bağlantı esnasında bir sorunla karşılaşıldığında, sorunun ağdan mı, kimlik doğrulamasından mı yoksa sunucu yapılandırmasından mı kaynaklandığını anlamak için verbose (ayrıntılı) mod kullanılır:

ssh -v ahmet@192.168.1.50

Daha fazla detay görmek için -vv veya en derin analiz için -vvv bayrakları tercih edilebilir. Bu çıktı, sunucu ile istemci arasındaki el sıkışma aşamalarını satır satır görmeyi sağlar.

Uzak Sunucuda Tek Komut Çalıştırma

Bir sunucuya tam bir oturum açmadan yalnızca tek bir komut çalıştırıp sonucunu yerel terminale almak mümkündür. Bunun için hedef bilginin sonuna çalıştırılacak komut eklenir:

ssh ahmet@192.168.1.50 "df -h"

Bu komut uzak sunucuya bağlanır, disk doluluk oranlarını gösteren df -h komutunu çalıştırır, çıktıyı istemci ekranına basar ve oturumu derhal kapatır.

SSH Anahtarları ile Güvenli ve Parolasız Giriş

Parola ile oturum açmak kaba kuvvet (brute-force) saldırılarına açıktır. Bu nedenle siber güvenlik standartları, parola yerine açık anahtar kimlik doğrulamasını (Public Key Authentication) önerir. Bu yöntemde bir özel (private) ve bir genel (public) anahtar çifti kullanılır.

1. Anahtar Çifti Oluşturma

İstemci makinede modern ve güvenli bir şifreleme algoritması olan Ed25519 kullanılarak anahtar çifti üretilir:

ssh-keygen -t ed25519 -C "admin@sirket.com"

İşlem sırasında anahtarın nereye kaydedileceği ve anahtarı korumak için bir parola (passphrase) girilip girilmeyeceği sorulur. İşlem bittiğinde ~/.ssh/ dizini altında id_ed25519 (gizli tutulması gereken özel anahtar) ve id_ed25519.pub (paylaşılabilir genel anahtar) dosyaları oluşur.

2. Genel Anahtarı Sunucuya Aktarma

Üretilen genel anahtarın hedef sunucuya eklenmesi gerekir. Bunun için ssh-copy-id komutu kullanılır:

ssh-copy-id -i ~/.ssh/id_ed25519.pub ahmet@192.168.1.50

Bu komut, genel anahtarınızı hedef sunucunun ~/.ssh/authorized_keys dosyasına otomatik olarak ekler. Bu adımdan sonra hedef sunucuya bağlanırken parola sormayacak, doğrudan anahtar üzerinden doğrulama yapılacaktır.

Eğer birden fazla özel anahtarınız varsa ve belirli bir anahtarla bağlanmak istiyorsanız -i bayrağını kullanabilirsiniz:

ssh -i ~/.ssh/ozel_anahtarim ahmet@192.168.1.50

SSH İstemci Yapılandırması: config Dosyası

Çok sayıda sunucu yönetirken portları, kullanıcı adlarını ve anahtar yollarını akılda tutmak zordur. Bu süreci kolaylaştırmak için yerel makinenizde ~/.ssh/config dosyasını kullanabilirsiniz.

Dosyayı oluşturup içine aşağıdaki formatta kayıtlar ekleyebilirsiniz:

Host test-sunucu
    HostName 192.168.1.50
    User ahmet
    Port 2222
    IdentityFile ~/.ssh/id_ed25519

Bu yapılandırmadan sonra, uzun parametreler yazmak yerine doğrudan takma adı kullanarak bağlanabilirsiniz:

ssh test-sunucu

Sistem gerekli portu, kullanıcı adını ve anahtar yolunu dosyadan otomatik olarak okuyacaktır.

Siber Güvenlik Açısından SSH Sıkılaştırma

SSH servisinin varsayılan hali doğrudan internete açılmamalıdır. Temel güvenlik seviyesini artırmak için hedef sunucudaki /etc/ssh/sshd_config dosyasında şu önlemler alınmalıdır:

  • Varsayılan 22 portu rastgele ve kullanılmayan bir yüksek porta çekilmelidir.
  • PermitRootLogin no yönergesi ile doğrudan root kullanıcısı üzerinden giriş engellenmelidir.
  • PasswordAuthentication no yönergesi ile parola ile giriş tamamen kapatılmalı, yalnızca anahtar tabanlı girişe izin verilmelidir.
  • Bağlantı deneme sayıları MaxAuthTries parametresiyle sınırlandırılmalıdır.

Özet ve Sonraki Adımlar

Linux ortamında ssh komutu, uzak sistemlerin güvenli yönetimi için vazgeçilmez bir araçtır. Bu komutun temel parametrelerine hâkim olmak, anahtar tabanlı yetkilendirme mekanizmasını kurmak ve bağlantıları yapılandırma dosyalarıyla otomatikleştirmek yönetim süreçlerini hızlandırır. Bir sonraki aşamada, SSH tünelleme (Local/Remote Port Forwarding) yöntemlerini ve güvenli dosya aktarımı sağlayan SCP/SFTP araçlarını inceleyerek yetkinliklerinizi geliştirebilirsiniz.

#ag guvenligi#linux#sistem yonetimi#ssh#uzak baglanti

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yaz

Yorumlar yönetici onayından sonra yayınlanır.