Güvenli Kabuk Protokolü (SSH), bir istemci makine (dizüstü bilgisayarınız, telefonunuz veya masaüstünüz) ile ofis, veri merkezi veya ev ağınızdaki uzak bir sunucu arasında güvenli bir bağlantı kurmanın belki de en iyi bilinen yoludur. Web barındırma hizmetinizdeki komut satırına veya başsız bir Raspberry Pi’ye ulaşmak istiyorsanız muhtemelen SSH kullanacaksınız. SSH, hemen hemen her işletim sistemi için bir biçimde mevcuttur ve genellikle işletim sistemine entegre edilmiştir.
Çoğu sunucu size SSH’ye bir parola veya daha güvenli olan SSH anahtarları aracılığıyla bağlanma seçeneği sunar. SSH anahtarı yöntemi, cihazlar arasında şifreli bir bağlantı oluşturmak için kriptografik olarak oluşturulmuş genel ve özel anahtarları kullanır.
Genel anahtarımız uzak makinede saklanır ve özel anahtarımız makinemizde saklanır. Güvenli bir bağlantı kurmak için iki SSH anahtarı gereklidir. Anahtarlar ayrıca başka bir güvenlik düzeyi eklemek için parolalarla birlikte kullanılabilir, ancak örneğin otomatik işlemlerde bunlar olmadan da kullanılabilirler.
Bu nasıl yapılır, en popüler SSH istemcisi olan PuTTY’yi ve Windows Komut İstemi / Linux Terminalinde SSH anahtarlarının nasıl oluşturulacağını öğreneceğiz.
Uzak Sunucuyu SSH Anahtarları için Hazırlama
Uzak makinemiz, bir web barındırma hizmeti tarafından işletilen bir veri merkezinde, ofisimizde veya evimizde olabilir. Tipik olarak VPS ve bulut barındırma gibi Linux sunucularında, güvenli oturum açmalar için parolalar kullanılarak varsayılan olarak SSH çalışır. Durum böyle değilse, VPS/bulut hizmetiniz için kontrol paneli üzerinden SSH’yi etkinleştirmeniz gerekecektir. Bir ev sunucusu kullanıyorsanız, kurulmamış olabilir. Bu durumda, ilerlemeden önce bu adımları izleyin.
1. Bir terminal açın ve makinede çalışan bir SSH hizmeti olup olmadığını kontrol edin. SSH hizmeti çalışıyorsa, Active: active (çalışıyor) döndürür.
sudo service ssh status
2. Fiziksel sunucuda bir terminal açın ve OpenSSH Sunucusunu kurun. Bu komutları vermek için makinenin önünde oturmanız gerekecek.
sudo apt update
sudo apt install openssh-server
3. SSH hizmetini başlatın.
sudo service ssh start
4. Ana dizininizde .ssh adında gizli bir dizin oluşturun.
mkdir .ssh
5. CTRL+D tuşlarına basarak veya çıkış yazıp Enter tuşuna basarak bağlantıyı kapatın.
SSH Anahtarlarını Kullanarak Uzak Bir Sunucuya Bağlanmak için PuTTY’yi Kullanma
PuTTY, cihazlara SSH ve seri bağlantılar oluşturmak ve yönetmek için bir uygulamadır. PuTTY, kendi anahtar oluşturucu uygulamasıyla birlikte gelir ve bu bölümde, uzak sunucumuz için bir genel ve güvenilir cihazımızda özel anahtar oluşturacağız.
1. PuTTY’yi indirin ve yükleyin. Windows’un SSH ile kullanılabilen kendi komut istemi vardır, ancak PuTTY bir SSH bağlantısı açmak için açık ara en erişilebilir yoldur.
2. Puttygen’i arayın ve uygulamayı açın.
3. RSA’ya tıklayın ve bitleri 4096’ya ayarlayın. Bir anahtar oluşturmak için Generate’e tıklayın.
4. Fareyi iletişim kutusunun boş alanı etrafında hareket ettirin anahtar için rastgele bir tohum oluşturmak için.
5. Anahtar için bir parola oluşturun. Bu, etkileşimli oturumlarda kullanılacak SSH anahtarları için önerilir.
6. Genel anahtarı id_rsa_putty.pub olarak .ssh adlı bir klasöre kaydedin.
7. Özel anahtarı id_rsa_putty.ppk olarak kaydedin. ppk dosyası, Putty’nin kendi özel anahtar biçimidir.
8. Genel anahtarı vurgulayın ve metni kopyalayın.
Ortak Anahtarın Uzak Sunucuya Kopyalanması
1. PuTTY’yi başlatın.
2. Uzak sunucunuz için IP adresini veya ana bilgisayar adını girin ve Aç’ı tıklayın.
3. İstendiğinde, uzak sunucu için kullanıcı adınızı ve parolanızı girin. Parolanın gösterilmediğini unutmayın. Bu, “omuzlarda gezinmeyi” önlemek için bir güvenlik özelliğidir.
4. Nano metin düzenleyicisini kullanarak .ssh dizininde yetkili_anahtarlar adında yeni bir dosya oluşturun.
5. Ortak anahtarı sağ tıklayın ve yapıştırın (PuTTYGen’de oluşturulmuş) boş dosyaya. Kaydetmek CTRL+X, ardından Y ve Enter’a basarak.
6. SSH oturumundan çıkış yapın CTRL + D tuşlarına basarak.
7. PuTTY’yi Yeniden Açın ve SSH >> Yetkilendirme’ye gidin.
8. Putty Özel Anahtarını (ppk) seçin sadece yarattığımız.
9. Oturum’a geri dönün, sunucunuz için ana bilgisayar adını / IP adresini girin ve Aç’ı tıklayın Bir bağlantı başlatmak için.
10. Kullanıcı adınızı ve ardından anahtarınızın parolasını girin. Giriş yapmak için Enter’a basın.
Artık Linux dosya sisteminde çalışan bir Linux terminali kullanarak uzak sunucunun kontrolü sizde. Bir bağlantıyı kapatmak için CTRL + D tuşlarını kullanın veya pencereyi kapatmak için X’e tıklayın.
Komut İstemi / Terminal Üzerinden SSH Anahtar Çifti Nasıl Oluşturulur
Komut isteminden / Linux terminalinden bir SSH anahtar çifti oluşturmak, yalnızca bir komut ve yanıtlanacak birkaç soru ile yapılabilir. Ortak anahtarı uzak sunucuya kopyalayarak, istemci makinemizde ortak ve özel anahtarları kurduk. Bu adımlar, Windows komut istemi ve Linux terminali için geçerlidir.
1. Windows tuşuna basarak bir Komut İstemi açın ve CMD’yi arayın. Çalıştırmak için Enter’a basın.
2. ssh-keygen komutunu kullanın 4096 bitlik RSA anahtar türünü kullanarak bir SSH anahtarı oluşturmak için.
ssh-keygen -t rsa -b 4096
3. Anahtarınızı adlandırmanız istendiğinde Enter’a basın. Bu, özel ve genel anahtarı, adlandırılmış hesabınız için .ssh dizinine kaydeder. Örneğin, anahtarlarımız C:\Users\lespo\.ssh klasörüne kaydedildi. Linux kullanıcıları, anahtarlar \home\user\.ssh ana dizininizde .ssh dosyasına kaydedilecektir.
4. İstendiğinde, Ekstra güvenlik düzeyi olarak anahtarınıza bir parola verin. Parola, gerçek kullanıcılar tarafından (etkileşimli olarak) kullanılacak SSH anahtarları için ek bir güvenlik adımıdır. Otomatik bir komut dosyasında SSH bağlantısı kullanılacaksa bir parola gerekli değildir.
5. Dizini SSH anahtarlarınızın konumuna değiştirin. Burada, adlandırılmış hesabınızda olduğunuzu varsayıyoruz. Örneğin C:\Users\lespo bizimdir. Linux altında /home/les/.ssh olurdu
cd .ssh
6. Dizindeki dosyaları listeleyin. id_rsa ve id_rsa.pub olmalıdır.
Windows Command
dir
Linux Command
ls
Ortak Anahtarın Uzak Sunucuya Kopyalanması
Genel anahtar uzak sunucumuzda depolanır ve güvenli bir bağlantı oluşturmak için güvenilir makinemizdeki özel anahtarla etkileşime girer. Ortak anahtarı sunucumuza almak için dosyayı güvenli bir şekilde kopyalamamız (scp) gerekir.
1. Bir Komut İsteminde, id_rsa.pub dosyasını uzak sunucudaki ana dizininize güvenli bir şekilde kopyalamak için scp komutunu kullanın. Uzak bilgisayarın IP adresini veya ana bilgisayar adını bilmeniz gerekir. Örneğimizde dosyayı [email protected]:/home/testuser/ adresine kopyaladık.
scp id_rsa.pub user@hostname:/home/username
2. Uzak bilgisayara SSH.
ssh user@hostname
3. id_rsa.pub dosyasının ana dizininizde bulunduğunu doğrulayın.
ls *.pub
4. Dosyanın içeriğini .ssh dizinindeki yeni bir dosyaya kopyalayın. cat komutunu kullanarak içeriği dosyaya göndeririz, yetkili_keyler veriyi dosyaya ekleyen bir boru kullanarak (>>).
cat id_rsa.pub >> .ssh/authorized_keys
5. CTRL + D tuşlarına basarak veya çıkış yazarak SSH bağlantısını kapatın.
6. SSH ile uzak bilgisayara yeniden bağlanın. SSH anahtarınız için bir parola oluşturduysanız, sizden bu parola istenir.
SSH Anahtarlarını Başka Bir Makinede Kullanma
Özel SSH anahtarınızı yeniden kullanmak mümkündür, ancak bu en iyi güvenlik uygulaması değildir. Anahtarlı bir dizüstü bilgisayarı kaybetmek, anahtarlarınızı yeniden oluşturmanız gerekeceği anlamına gelir. En iyi uygulama, bağlanmak isteyen her cihaz için yeni bir anahtar çifti oluşturmak olacaktır. Ortak anahtarın sunucudaki authrozied_keys dosyasına eklenmesi. Bununla birlikte, bir özel anahtarı birden çok cihazda yeniden kullanmak nispeten kolaydır.
PuTTY Özel Anahtarını Yeniden Kullanma
PuTTY, özel anahtarı bir PPK anahtarı olarak saklar ve bir makinenin ortak anahtarımızı kullanarak uzak bir sunucuya bağlanması için ihtiyacımız olan tek şey bu dosyadır.
1. .ssh klasörünüze gidin ve PPK dosyasını bir USB belleğe kopyalayın. Sunucunuza erişmek için herkes tarafından kullanılabileceğinden bu USB çubuğunu güvende tutun.
2. USB çubuğunu başka bir bilgisayara takın.
3. Ana dizininizde bir .ssh klasörü oluşturun. Windows için bu, C:\Users\username\.ssh ve Linux /home/user/.ssh olacaktır.
4. PPK dosyasını .ssh dizinine kopyalayın.
5. Oturum açmak için Ortak Anahtarı Uzak Sunucuya Kopyalama bölümündeki 7. Adımdan itibaren izleyin.
Komut İstemi / Terminal Özel Anahtarını Yeniden Kullanma
1. .ssh klasörünüze gidin ve özel anahtar dosyasını bir USB çubuğuna kopyalayın. Sunucunuza erişmek için herkes tarafından kullanılabileceğinden bu USB çubuğunu güvende tutun.
2. USB çubuğunu başka bir bilgisayara takın.
3. Ana dizininizde bir .ssh klasörü oluşturun. Windows için bu, C:\Users\username\.ssh ve Linux /home/user/.ssh olacaktır.
4. Özel anahtar dosyasını .ssh dizinine kopyalayın.
5. Uzak bilgisayara bir SSH oturumu başlatın. SSH anahtarınız için bir parola oluşturduysanız, sizden bu parola istenir.
ssh user@hostname