İçeriğe geç

Şifresiz SSH Girişi Nasıl Yapılır? (SSH Key-Based Authentication)

sifresiz-ssh

Linux sistemlerinde şifresiz SSH bağlantısı yapmak, güvenliği artırırken aynı zamanda otomatik işlemleri kolaylaştıran önemli bir yöntemdir. SSH Anahtar Tabanlı Kimlik Doğrulama (SSH Key-Based Authentication) kullanarak, parola girmeden güvenli bir şekilde başka bir sunucuya bağlanabilirsiniz.

Bu yazıda, Linux sistemlerinde şifresiz SSH bağlantısı nasıl yapılandırılır, adım adım anlatacağız.

Şifresiz SSH Kullanmanın Avantajları

  • Daha güvenli: Parola ile giriş yapmak yerine kriptografik anahtar kullanıldığı için kaba kuvvet (brute force) saldırılarının önüne geçilir.
  • Otomatik işlemler: Ansible, Rsync, Git, SCP gibi araçlarla parola sormadan işlem yapabilirsiniz.
  • Hızlı bağlantı: SSH bağlantısı için sürekli parola girmek zorunda kalmazsınız.

1. SSH Anahtar Çifti Oluşturma

İstemci (bağlanmak istediğiniz bilgisayar) tarafında bir SSH anahtar çifti oluşturmanız gerekir.

Aşağıdaki komutu çalıştırarak SSH anahtar çifti oluşturabilirsiniz:

ssh-keygen -t rsa -b 4096 -C "kullanici@domain.com"
  • -t rsa → RSA algoritmasını kullanır.
  • -b 4096 → 4096 bit uzunluğunda güçlü bir anahtar oluşturur.
  • -C "kullanici@domain.com" → Anahtarın açıklaması için e-posta adresinizi ekler.

Komut çalıştırıldığında şu şekilde bir çıktı alırsınız:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):

Burada varsayılan dosya adını (/home/user/.ssh/id_rsa) kullanabilirsiniz. Enter tuşuna basarak devam edin.

Daha sonra, bir parola (passphrase) girmeniz istenir. Eğer parola girmeden otomatik giriş yapmak istiyorsanız, boş bırakıp Enter’a basabilirsiniz.

✔ Anahtar çiftiniz ~/.ssh/ dizini altında oluşacaktır:

  • Özel anahtar: ~/.ssh/id_rsa
  • Genel anahtar: ~/.ssh/id_rsa.pub

2. SSH Genel Anahtarını Sunucuya Kopyalama

Şimdi, oluşturduğunuz genel anahtarı bağlanmak istediğiniz sunucuya kopyalamamız gerekiyor.

Bu işlemi yapmak için aşağıdaki komutu çalıştırın:

ssh-copy-id kullanici@sunucu_ip

Örnek:

ssh-copy-id root@192.168.1.100

Alternatif olarak, scp ile de elle kopyalayabilirsiniz:

scp ~/.ssh/id_rsa.pub kullanici@sunucu_ip:~/

Ardından sunucuya bağlanarak şu komutları çalıştırın:

mkdir -p ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub

Bu işlem sonrası istemciden sunucuya parola sormadan giriş yapabilirsiniz!

3. SSH ile Şifresiz Bağlantıyı Test Etme

Şimdi istemciden sunucuya şifresiz SSH bağlantısını test edelim:

ssh kullanici@sunucu_ip

Eğer doğrudan giriş yapıyorsanız, başarıyla yapılandırmayı tamamlamışsınız demektir! ✅


4. SSH Parola ile Girişi Devre Dışı Bırakma (Opsiyonel)

Daha yüksek güvenlik için sunucu tarafında parola ile SSH girişini tamamen kapatabilirsiniz.

1. Sunucuda SSH yapılandırma dosyasını açın:

sudo nano /etc/ssh/sshd_config

2. Aşağıdaki satırı bulun ve şu şekilde değiştirin:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

3. SSH servisini yeniden başlatın:

sudo systemctl restart sshd

Böylece artık sadece SSH anahtarıyla giriş yapılabilir, parola kabul edilmez!

SSH anahtar çifti oluşturdunuz (ssh-keygen)
Genel anahtarı sunucuya kopyaladınız (ssh-copy-id)
Şifresiz SSH bağlantısını test ettiniz (ssh kullanıcı@sunucu)
Parola ile girişi kapatıp güvenliği artırdınız (sshd_config)

Artık Linux sisteminizde şifresiz SSH bağlantısı ile hızlı ve güvenli bir şekilde sunucularınıza erişebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

2 + 3 =