Eğer internette ssh bağlantıları için anahtarlama kullanımı konusunda biraz araştırma yaptıysanız karşınıza çıkacak dökümanların çoğunda açık anahtarınızın hedef makinada ~/.ssh/authorized_keys dosyasına nasıl ekleneceği, bu dosyanın ve .ssh dizininin hangi kullanıcı ve grup yetkilerine sahip olacağı konusunda bilgi verildiğini göreceksiniz.
İlgili dökümanlarda bahsedilen herşey doğru olmakla birlikte ssh programı bütün bu adımları sizin için layığıyla gerçekleştiren bir komut satırı programıyla birlikte geliyor. ssh-copy-id isimli bu program ne yazık ki birçoğumuzun dikkatinden kaçıyor.
ssh-copy-id programı ne yapar?
- Açık anahtarınızı hedef makinada kullanıcı dizini altındaki yetkili anahtarlar dosyasına ekler ( ~/.ssh/authorized_keys)
- ~/.ssh dizinini ve ~/.ssh/authorized_keys dosyasının yetkilerini düzenler.
Aşağıdaki örnek komutta herhangi bir kimlik belirtmediğimiz için varsayılan açık anahtar ( ~/.ssh/id_rsa.pub dosyasının içeriği) hedef.makina.com makinasındaki ali kullanıcısının home dizinine yüklenir.
$ssh-copy-id ali@hedef.makina.com
Eğer birden çok anahtarınız var ise hedef makinaya göndermek istediğiniz açık anahtarı -i parametresiyle belirtebilirsiniz.
$ssh-copy-id -i ~/.ssh/ikinci_anahtar.pub ali@hedef.makina.com
Kıssadan hisse tek bir komutla açık anahtarınızı hedef bir makinaya yükleyebilirsiniz. :)
İyi çalışmalar