SSH Anahtar Doğrulaması nedir?
Sadece kullanıcı adı ve parola ile güvenliği sağlamanın yetersiz olduğu bir dönemde yaşıyoruz. SSH’ın doğrulama yollarından biri açık anahtar doğrulaması da bu yetersizlikten kaynaklanan ihtiyacımıza karşılık verip açık ve gizli anahtarlar kullanarak bir güvenlik sağlamakta. Nasıl çalıştığına gelecek olursak, şu şekilde hayal edebilirsiniz. Evinizde çok kompleks bir anahtar deliği bulunduruyorsunuz ve bunu hangi anahtarların açabileceğine siz karar veriyosunuz. Karar verme aşaması şu şekilde oluyor; arkadaşınız size anahtarını getiriyor siz de onu tanıdığınız anahtarlar listesine ekliyorsunuz ve artık arkadaşınız evinize girebiliyor. Evde bulundurduğunuz anahtara gizli(private) arkadaşlarınızda bulundurduğunuz anahtarlara da açık(public) key deniliyor.
Teknik olarak örnek vermek gerekirse, aşağıda gördüğünüz bir private key (evinizdeki anahtar).
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAwDQo509zJ/MzTQr54zWj6xYJ7UjATLFoTADDZpMQq1bOnMGB L7+qBr9z8gfU4CEP2YLsEwWPY/VMpkx8q3OfgcUEte7gPnOyXx5WB/WsJcdxug1h Z75rYEKJZLTgunPO5YDQl9NnhwMxtQuunXjBDO+/NpyMd0IlFNBfU8rDr2wQjLYd W6TSc+ufvESb3GLyPhvAhgbFlav4l6YT1IL12ML6EmIUZFMEhPsYJ/Mz04qmgoft 3e/Z9k03vFDQwhbD4I/45NhvTxiNNoDBuJKiKnjoSvVBfAR+uYbSbt27mV9dGQ9F a4Y0flJRzHtBrwpOEtrtMXyHG8bTdVvARdNMhQIDAQABAoIBACnKraIuClIDdYIp AtC+lxfEwP/RM875PD5aZCJnk9ZNl7tJ7/cb67Jv6pwTy9u4FKQs7XvtV5JaggIe 23TEPUiQOEf+2s95hK1eAULVzkqgpW/ZLPbL1rklfo5hLgQcrj4E1lZM51PaA/Lj yWIAIanYb3FGdNxxi3KNJE0p54a6zh7IgBYsvWWbfg4M2d/eunkhLOveQilOvcJp pVnIl9WHFX8NqohElYv3Sc7ISY87h4gPRYpQfLbV4yDCpM120TjmCM2QB+GBUNid K1rQ7RU8DP5d6CGQ9QY47Pzozp3CIcdGHuc30gLjxOO8MJ08s4691nrtGZzbgNoJ v1RecnkCgYEA36F4PUY5+Q6zSX48FSz+iFOPgVwH3vs+VKfmhtqzXm73Ieeq++VL psOcbvDzizUkzThgYV/JOEWZcFkvSnhG2K+IFFta4NQOvb8u781iKOn1IE09FgFo kYgbLJtFz6HJbniaKhAa28Qs1zXZVtn1fbzL09270mklgJOOM8gzCg8CgYEA3AYt jCzmkDM5x7eIHUEKeafwtKLFRNXsETbdMnFi6R2SlvzZDot58yRFAtvFaQgVdcV8 ta0AvjsOpWLPysTFV8//ayxhnPf7Eqf342GAT8ALl4OmTcP1TzA8V6VtY6zWlAW+ 1OkdEcDC7WSifGUC5NOAOFIkuYyPeMvWy0tBpCsCgYEAhcnsTXw+IqqQyF8lQuXw QU78g7+zVckezzbDy9n7hXuNjlMzEBBV+ib858JvcdERe1VHE/piP7Aj4/r3N+5N NEWPe95LuEYlq489XWnaV+/gHrsW2JtvG+H5n+4lDdsUz2qHkLKh3ui2iupEZJlo zOiuaMo3G+Kb9RhR8tjK8DECgYBDFMscOrBM9KFAJ8+jA6p67t3vZNT6KLKhiPWl pHZAlpiT2iEfUxzqKXu05GZqoGFSl9Ru24Enfn/3oomxy45TOIIqHczg+6YbyQRF 2fsx1V5zYlr4yK7o5s7u9evFAPQnCx1kcnI/cGK91/nGLVHVjDpCcaDqxVUUwikJ sDciIwKBgQDKvgP7zVkf3Hc9LaYmJHhqyRmX8ohy0dzf8L4Ws+wrj1bl4muqdzxV gJCNbcNH4RITMshnaAtxQhXqAyg6C1vQWvExGVbC9jc0YWJLFGFf227HTT9lCCBO iMwBLFOR8dKsTYKQYnWJYr0yND6oGSi/Nwmv5GlREVjZXLWN2jC+Zg== -----END RSA PRIVATE KEY-----
Buradaki ise bir açık anahtar
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDANCjnT3Mn8zNNCvnjNaPrFgnt SMBMsWhMAMNmkxCrVs6cwYEvv6oGv3PyB9TgIQ/ZguwTBY9j9UymTHyrc5+BxQS1 7uA+c7JfHlYH9awlx3G6DWFnvmtgQolktOC6c87lgNCX02eHAzG1C62deMEM7782 nIx3QiUU0F9TysOvbBCMth1bpNJz65+8RJvcYvI+G8CGBsWVq/iXphPUgvXYwvoS YhRkUwSE+xgn8zPTiqaCh+3d79n2TTe8UNDCFsPgj/jk2G9PGI02gMG4kqIqeOhK 9UF8BH65htJu3buZX10ZD0VrhjR+UlHMe0GvCk4S2u0xfIcbxtN1W8BF00yF volgaa@teknohaber
Açık anahtarı eğer sunucunuzdaki ~.ssh/authorized_keys dosyasına eklerseniz bu açık anahtarı bulunduran kişi sizin sunucunuza girme yetkisi kazanır.
Anahtar Oluşturma
Anahtar oluşturmak için şu adımları izleyebilirsiniz.
Öncelikle terminalinizde ssh-keygen -t rsa komunutunu çalıştırabilirsiniz.
Burada -t type anlamına geliyor ve oluşturduğunuz anahtarın tipini (rsa) sonrasında parametre olarak giriyorsunuz.
Komut çalıştıktan sonra eğer her seçeneği default olarak bırakıp devam ettiyseniz public key’iniz ~./ssh/id_rsa.pub içinde olacak.
O dosyanın içeriğini sunucunuzdaki ~.ssh/authorized_keys içine eklerseniz anahtar eşlemesini yapmış olursunuz.
Sonrasında
ssh kullanici_adi@sunucunuzun_ip_adresi ile sunucunuza bağlanabilirsiniz.
Gizli Anahtar ile Erişim
İstediğiniz kişilerle gizli anahtarınızı paylaşabilirsiniz. Bu kişiler sadece bu anahtarı kullanıp sunucunuza giriş yapabilirler.
Yapmaları gereken;
- Gizli anahtarınızı (private key) dosya_adi.txt içine kaydetmek (herhangi bir dosya olabilir) (BEGIN ve END ifadeleri de yer almalı)
- Dosyaya 400 ya da 600 izin hakkını vermek.
-
chmod 400 dosya_adi.txt
-
-
ssh -i dosya_adi.txt kullanici_adi@sunucunuzun_ip_adresi
ile de bağlantınızı gerçekleştirebilirsiniz.