Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme
authorized_keys'i, Ed25519 ve RSA anahtarlarını ve SSH aracısı yönlendirmenin güvenlik sonuçlarını anlayın.
Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.
authorized_keys dosya biçimi
SSH açık anahtarla kimlik doğrulaması, genellikle sunucuda ~/.ssh/authorized_keys konumunda bulunan authorized_keys dosyasına dayanır. Her satır şu biçimde bir açık anahtar içerir: algorithm base64-key comment. Sunucu, istemcinin bir sınamayı imzalayarak karşılık gelen özel anahtara sahip olduğunu kanıtlayıp kanıtlayamadığını denetler.
ssh-keygen ile SSH anahtarları oluşturma
ssh-keygen komutu, kimlik doğrulaması için anahtar çiftleri oluşturur. ssh-keygen -t ed25519 komutunun çalıştırılması, modern bir Ed25519 anahtar çifti oluşturur. Tanımlama amacıyla -C seçeneğiyle e-posta adresiniz gibi bir açıklama belirtebilirsiniz. Araç, özel anahtarı (id_ed25519) ve açık anahtarı (id_ed25519.pub) varsayılan olarak ~/.ssh içine kaydeder.
Anahtar türlerini karşılaştırma: RSA, ECDSA, Ed25519
RSA 4096 bitlik anahtarlar eski sistemlerle yüksek uyumluluk sağlar, ancak imzalama işlemi daha yavaştır. NIST P-256 kullanan ECDSA daha hızlıdır ve daha küçük imzalar üretir, ancak bazı kriptografi uzmanları NIST eğrisi parametrelerinin seçimini sorgular. Curve25519 tabanlı Ed25519 güncel en iyi uygulamadır: hızlıdır, anahtarları ve imzaları küçüktür, bilinen bir zayıflığı yoktur ve tüm modern SSH uygulamalarında kullanılabilir.
Parola ile korunan özel anahtarlar
Özel anahtar dosyası bir parolayla korunmalıdır. ssh-keygen, özel anahtarı paroladan türetilen bir anahtar kullanarak şifreler; modern anahtarlar için bcrypt kullanılır. Böylece dosyayı ele geçiren bir saldırgan, parola olmadan bu anahtarı kullanamaz. Parola olmadan dosyaya erişebilen herkes, karşılık gelen açık anahtarı bulunduran herhangi bir sunucuda sizin adınıza kimlik doğrulaması yapabilir.
Anahtar yönetimi için ssh-agent
ssh-agent arka plan hizmeti, oturum açma süresince şifresi çözülmüş özel anahtarları bellekte tutar. ssh-add ~/.ssh/id_ed25519 komutuyla bir anahtar yüklersiniz ve sizden parola bir kez istenir. Sonraki SSH bağlantıları, parolayı yeniden girmenize gerek kalmadan sınamaları imzalaması için aracının yardımını ister; böylece güvenlik ile kullanım kolaylığını bir araya getirir.
ssh-agent sınamaları nasıl imzalar
Bir SSH sunucusu kimlik doğrulama sınaması gönderdiğinde SSH istemcisi, imzalama işlemini bir Unix soketi üzerinden ssh-agent aracısına devreder. Aracı, bellekte saklanan özel anahtarı kullanarak kriptografik imzalama işlemini gerçekleştirir ve yalnızca imzayı geri gönderir. Özel anahtarın baytları, SSH istemcisinin kendisine bile aracının sürecinden dışarı çıkmaz.
Ajan yönlendirme: olanaklar ve riskler
Ajan yönlendirme (ForwardAgent yes veya ssh -A), uzak bir SSH oturumunun sonraki kimlik doğrulamalarında yerel aracınızı kullanmasına olanak tanır. Özel anahtarları ara sunucuya kopyalamadan ara sunucular üzerinden geçiş yapmak için yararlıdır. Ancak ara sunucu ele geçirilirse, oradaki kök kullanıcı aracınızın soketine erişebilir ve herhangi bir sunucuda sizin adınıza kimlik doğrulaması yapabilir.
Ara sunucular için ProxyJump ve ForwardAgent karşılaştırması
ProxyJump (ssh -J bastion target), ara sunucu erişimi için ForwardAgent yerine kullanılabilecek daha güvenli seçenektir. Ara sunucu üzerinden bir TCP tüneli oluşturur ve aracınızın soketini orada açığa çıkarmaz. Hedef sunucu, yerel istemcinizden doğrudan bağlantı alır; ara sunucu ise kimlik bilgilerinizi kullanma olanağı olmadan yalnızca şifrelenmiş TCP baytlarını iletir.
SSH sertifikasıyla kimlik doğrulama
SSH, bir Sertifika Yetkilisinin (CA) sunucu ve kullanıcı açık anahtarlarını imzaladığı sertifika tabanlı kimlik doğrulamayı destekler. Her sunucuya tek tek açık anahtarlar dağıtmak yerine sunucuları CA'nıza güvenecek şekilde yapılandırırsınız. İmzalı bir kullanıcı sertifikası, isteğe bağlı geçerlilik süresi ve kimlik kısıtlamaları sertifikaya gömülmüş olarak, bu CA'ya güvenen tüm sunuculara erişim sağlar.
Toplu anahtar toplama için ssh-keyscan
ssh-keyscan aracı, bir veya daha fazla ana bilgisayara bağlanır ve kimlik doğrulaması yapmadan bu ana bilgisayarların açık anahtarlarını alır. Bu özellik, dağıtım betiklerinde known_hosts dosyalarının otomatik olarak doldurulması için yararlıdır. Çıktı doğrudan bir known_hosts dosyasına yönlendirilebilir: ssh-keyscan -H example.com >> ~/.ssh/known_hosts.
Anahtarla kimlik doğrulama akışı özeti
Açık anahtarla kimlik doğrulama şu şekilde gerçekleşir: istemci açık anahtarı gönderir, sunucu authorized_keys dosyasını denetler, sunucu oturum ID'siyle imzalanmış bir sınama gönderir, istemci aracıyı kullanarak bu sınamayı özel anahtarla imzalar ve sunucu imzayı saklanan açık anahtarı kullanarak doğrular. İmza geçerliyse kimlik doğrulaması, gizli herhangi bir kimlik bilgisini göndermeden başarılı olur.
SSH anahtarı türü seçimi
Yeni dağıtımlar için hızı, küçük anahtar boyutu ve güçlü güvenlik özellikleri nedeniyle güncel en iyi uygulama kabul edilen SSH anahtarı türü hangisidir?
Açık anahtarla kimlik doğrulama özeti
Temel noktalar: açık anahtarları authorized_keys dosyasında saklayın, özel anahtarları parolalarla koruyun, şifresi çözülmüş anahtarları bellekte tutmak için ssh-agent kullanın, Ed25519 anahtar türünü tercih edin, aracının soketini açığa çıkarmamak için ara sunucu erişiminde ForwardAgent yerine ProxyJump kullanın ve ölçeklenebilir erişim yönetimi için SSH sertifikalarını değerlendirin.
Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 67
- Dersler
- 261
Sıkça Sorulan Sorular
“Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme” dersi ücretsiz mi?
Evet — “Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.
“Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme” dersinde ne öğreneceğim?
authorized_keys'i, Ed25519 ve RSA anahtarlarını ve SSH aracısı yönlendirmenin güvenlik sonuçlarını anlayın. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- SSH El Sıkışması ve Ana Bilgisayar Anahtarı Kimlik Doğrulaması
- Genel Anahtar Kimlik Doğrulaması ve Aracı Yönlendirme
- SSH Tünelleme ve Bağlantı Noktası Yönlendirme Teknikleri
- SSH Güçlendirme ve Denetim için En İyi Uygulamalar