Ssh Agent Nedir, Nasil Kullanılır

Home » Linux » Ssh Agent Nedir, Nasil Kullanılır
Linux Yorum yapılmamış

Daha önceki makalelerimde gerek linux sunucular arasında olsun gerek putty veya securecrt tarzı programlar ile ssh key oluşturarak şifresiz ve güvenli bağlantı nasıl kurulur anlatmıştım.

Fakat ssh anahtar çiftlerini oluştururken bunların kriptolu hallerini de şifrelenmesi gerektiğini belirtmiştim. Hal böyle olunca biz şifre yazmamak için yapıyorduk key’i de şifreleyince yine şifre girmemiz gerekiyor diyen ziyaretçilerim için güzel bir yöntem olan ssh agent (ssh ajanı) nasıl kullanılır, anlatacağım..

SSH Agent Nedir ?
Ssh key oluştururken o sırada bize bu key’lere şifre vermemiz istenmektedir. Default’da şifre vermeden oluşturursak şifresiz olur, fakat şifre vererek oluşturursak kriptolanan bu key’lerimiz ekstra güvenlikli olarak şifrelenmektedir.

Bu ne işe yarar sorusuna en basit yanıt; ssh anahtarların bir başkası eline geçmesi güvenlik riski doğurabilir, fakat bu anahtarı da şifrelemek bütünüyle güvenliği sağladığımızı gösterir. Zaten hal böyle olunca key ile bağlantı kurulduğunda bizden key şifresi istenmektedir.

SSH Agent ise ssh anahtarının (private key’in) parolasını hafızasına alarak her seferinde bizi bu parolayı girme zahmetinden kurtarmaktadır. Gizli/Özel anahtarın parolası bu küçük ajanımız vasıtasıyla belleğe yükleniyor ve sonraki erişimlerde şifre girmeden bağlantı kurulmasına izin veriyor. Fakat sistem yeniden başlatıldığında yada ssh ajanının belleği temizlendiğinde anahtar silineceği için tekrar şifre soracaktır.

OpenSSH ile birlikte gelen güzel bir özellik olduğu için ekstra bir program kurmaya gerek yoktur. Bunun için bir kaç komut ve argüman yardımı ile kullanmak mümkün.

Ssh ajanının (ssh agent) belleğine gizli anahtarın (private key) parolasını yükleyelim.

-Önce ssh-agent’ımızı çalıştıralım,

-Agent’i çalıştırdığımız zaman yukarıdaki gibi ortam değişkenleri ekrana yazdırılır. Sonrasında bu değişkenleri kullanmak için aşağıdaki komutu verelim,

-Şimdi ssh ajanımızı çalıştırdığımıza göre ssh key’imizi ekleyelim. Önce aşağıdaki komutu giriyoruz.

– Yukarıdaki komutu girdiğimiz zaman bize “Enter passphrase for..” şeklinde soru yöneltiliyor. Burada içerisinde bulunduğum salih kullanıcısının home path’indeki .ssh dizininde yer alan private key (yani id_rsa) dosyası otomatik olarak görüyor. Bu key’in şifresi bize soruluyor. Burada şifremizi giriyoruz.

Bu kadar ! Artık gizli anahtarımızın (private key’in) şifresini ssh agent belleğine yükledik. Artık şifresiz bir şekilde kriptolanmış ssh key’imize verdiğimiz parolayı da girmeden sunucumuza erişim sağlayabiliriz.

Not: Yazının başlarında sunucu kapandığında, açıldığında, bellek silindiğinde ssh agent belleğindeki şifrenin de silineceğini belirtmiştim. Buna dikkat etmekte fayda var.

Ek olarak sunucu yeniden başladığında ssh-agent’i tekrar başlatmak gerekecektir. Fakat bunun için aşağıdaki ayarları yapmamız halinde otomatik olarak sistem değişikliklerinde kendiliğinden başlayacaktır. Yani her oturum açıldığında ssh-agent’ı başlatmak için,

– ssh-agent belleğindeki anahtar/anahtarları silmek istersek,

– Detay bilgi için man sayfasını inceleyebilirsiniz.