يونكس / لينكس

Windows'tan Linux'a SSH Kimlik Doğrulaması İçin Özel Anahtarlar Nasıl Kullanılır

İnternete bağlı bir sunucudaki / var / log / secure dizinine bir kez bakın ve kök hesabınızı güvence altına almanın gerekliliğini hemen anlayacaksınız. Kötü adamlar, sunucunuza SSH veya başka bir protokol kullanarak giriş yapmak için sürekli olarak root ve diğer kullanıcı adlarını deniyorlar. Basit bir şifre kullanırsanız, sunucunuz şifre tahmin edici bir saldırıdan ödün vermeden önce sadece bir an meselesidir. En iyi uygulama, SSH oturum açma işlemlerine kökten izin vermemek, böylece riskin büyük bir bölümünü ortadan kaldırmaktır. Sorun şu ki, aynı zamanda sys yöneticileri için de büyük bir rahatlığı ortadan kaldırıyor ve Windows masaüstünüzden veya dizüstü bilgisayarınızdan Linux veya UNIX sunucunuza dosya kopyalama için WinSCP gibi araçların kullanımını zorlaştırıyor. Oldukça basit bir çözüm, kimlik doğrulama için kamu / özel keypairs kullanmaktır. Genel anahtar Linux / UNIX sunucusunda, özel anahtar ise yerel Windows bilgisayarınızda depolanır. Windows bilgisayarınızdan Linux / UNIX sunucusuna bağlanmayı denediğinizde, parola yerine parola ile kimlik doğrulaması yapılır. Parola doğrulaması kök için aslında devre dışıdır, bu nedenle kimlik doğrulaması için hiçbir parola hesaplaması yapılmayacaktır. İşte nasıl yapılır: PuTTY Windows yükleyicisini İnternet'ten indirerek başlayın. Yükleyiciyi bulmak için "PuTTY SSH" terimini arayın. Yükleyiciyi yerel Windows bilgisayarınızda çalıştırın. Şimdi, anahtar çiftleri oluşturmalısınız. Koştuğunuz PuTTY Windows yükleyicisi, anahtar çiftleri oluşturmak için kullanabileceğiniz PuTTYgen adlı bir uygulamayı yükler. PuTTYgen (ve diğer PuTTY uygulamaları) Başlat >> Tüm Programlar >> PuTTY. PuTTYgen'i ilk defa çalıştırdığınızda, yeni bir keypair oluşturmalısınız. PuTTYgen penceresinin altında SSH-1 (RSA), SSH-2 RSA ve SSH-2 DSA dahil üç parametre seçeneği vardır. SSH-2 RSA, varsayılan anahtar uzunluğu 1024 bit olan varsayılan seçimdir. Daha uzun anahtar uzunlukları daha güvenlidir, ancak daha fazla işlem gücü gerektirir. Bu sırada 1024 bit kabul edilebilir bir uzlaşmadır (2008 yılının sonlarında), ancak bilgisayar işlem gücü artmaya devam ettiği için gelecekte kabul edilemez.

  • Genel ve özel anahtarlara Generate etiketli düğmeyi tıklayın. (Tuş takımını üretmek için bazı rasgelelikler oluşturmak için fare işaretçinizi ekranın üstündeki boş alana getirmeniz gerekir. PuTTYgen tuşları oluşturur.)

Artık özel anahtarı yerel dizüstü bilgisayarınıza kaydedebilirsiniz veya Masaüstü bilgisayarı açın ve ortak anahtarı uzak Linux / UNIX sunucusuna kopyalayın.

  • PuTTYgen’deki iki alanda özel anahtarı korumak için bir parola girin ve onaylayın.
  • Özel anahtarı kaydetmek için Özel anahtarı kaydet etiketli düğmeyi tıklayın ve yerel sabit diskinizde bir konum seçin. (Özel anahtarınızı güvenli bir şekilde depolayarak korumayı unutmayın!)
  • Genel anahtar olan (PuTTYgen penceresinin en üstünde) genel metin olan metni kopyalayın ve sunucunuzdaki /root/.ssh/authorized_key # 39; muhtemelen yetkili_keys dosyasını oluşturmak zorunda kalacağım.
  • Linux / UNIX sunucunuzda, RSA doğrulamasına ve ortak anahtar doğrulamasına her ikisine de izin verildiğinden emin olmak için / etc / ssh / sshd_config dosyasını inceleyin. Değilse, "hayır" ı "evet" olarak değiştirin ya da söz konusu kimlik doğrulamasına izin vermek için satırları kaldırın. Ayrıca, yetkili_key dosyası dosyasına giden yolun "% h / .ssh / yetkili_key" olarak ayarlandığından ve satırın satırına gelmediğinden emin olun. (RedHat sistemindeki 43. satırda ve Debian sistemindeki 29. satırdaki üç satırı buldum.)

Tamamladığınızda, satırların şöyle görünmesi gerekir: RSAAententication evet PubkeyAuthentication evet AuthorizedKeysFile% h / .ssh / approved_keys

  • Özel anahtar kimlik doğrulamasıyla PuTTY kullanarak oturum açmaya çalışarak yapılandırmayı test edin: Windows iş istasyonunuzdan, PuTTY'yi başlatın ve sunucunuzun ana bilgisayar adını veya IP adresini Ana Bilgisayar Adına girin ( veya IP adresi) alanı.
  • PuTTY penceresinin sol bölmesinde, Kategori altında, SSH'yi genişletin ve Auth'e tıklayın.
  • Gözat … etiketli düğmeyi tıklayın ve daha önce kaydettiğiniz özel anahtar dosyasını bulun.
  • Oturumu başlatmak için Aç etiketli düğmeyi tıklayın Bir kullanıcı adı istendiğinde, "root" girin

Konfigürasyonunuz doğruysa, özel anahtar şifresi girmeniz istenir. Doğru girerseniz, root olarak doğrulanmanız ve ayrıcalıklı bir komut istemeniz gerekir (BASH kabuğunu kullanan sistemlerde, bir pound işareti (#) görmelisiniz.) Root hesabını sınırlandırmak için root parola doğrulamasını da devre dışı bırakmalısınız. Özel anahtar kimlik doğrulaması için.

  • "PermitRootLogin şifresiz" okumak için "PermitRootLogin yes" yazan satırı düzenlemek ve değiştirmek için / etc / ssh / sshd_config dosyasını açın.
  • ssh arka planını yeniden başlat: Red Hat sistemlerinde # / etc / init.d / sshd yeniden başlat veya Debian sistemlerinde /etc/init.d/ssh yeniden başlat
  • Linux'ta parola tabanlı oturum açma girişiminde bulunma UNIX sunucusu. Reddedilmeli. Linux / UNIX sunucusunda daha önce olduğu gibi özel bir anahtar tabanlı giriş yapmaya çalışın. Başarılı olmalı.

Özel anahtarı PuTTY ve WinSCP ile kullanabilirsiniz. Tera Term ile kullanmaya çalıştığımda hatalarla karşılaştım, ancak Tera Term şimdi tercihinize göre Tera Term ile iyi çalışan bir keygen programı içeriyor.