Ana içeriğe geç

SSH Anahtar Oluşturma

Bu makalede

SSH anahtarlarını kullanmak, uzak kullanıcının parolasını girmek yerine güvenli bir SSH anahtarı ile değiştirmenizi ve sunucu yönetimini daha güvenli hale getirmenizi sağlar.

Bilgi

Bir SSH anahtarı, SSH protokolü kullanarak uzak bir sunucuya bağlanırken kullanıcının kimlik doğrulaması için kullandığı bir kriptografik anahtardır.

SSH anahtarları iki türdedir:

  1. Açık (public) anahtar, uzak sunucuya gönderilerek kimlik doğrulama yapılabilir. Bu anahtar, karşılık gelen özel anahtarla sadece çözülebilen verileri şifrelemek için kullanılır. Özel anahtar da verileri şifrelemek ve açık anahtar ile çözümlemek için kullanılabilir.

  2. Özel (private) anahtar, kullanıcının yerel makinesinde gizli tutulmalıdır. Bu anahtar, açık anahtarla şifrelendiği verileri çözmek için kullanılır.

SSH anahtarları ile sunucuya bağlanmak için, yerel makinede (public ve private) bir anahtar çifti oluşturmanız ve ardından public anahtarı uzak sunucuya kopyalamanız gerekir. Bu adımlar tamamlandığında, uzak kullanıcının parolasını sağlamadan sunucuya bağlanabilirsiniz. Genellikle özel anahtar bir şifre ile oluşturulur ve bu nedenle bağlantı kurarken bu şifreyi girmeniz gerekecektir.

Linux/MacOS işletim sistemleri için SSH anahtar oluşturma

Bir SSH anahtarı oluşturma

  1. SSH ile sunucuya bağlanın.

  2. Yerel makinede bir SSH anahtarı oluşturun. Bunu yapmak için aşağıdaki komutu terminalde çalıştırın:

    ssh-keygen -t rsa
    

    Komut çalıştırdıktan sonra, anahtarın saklanacağı dosya adını ve konumunu seçmeniz istenecektir. Varsayılan olarak .ssh/ dizininde id_rsa dosyası adıyla saklanır.

    Daha sonra bağlantının güvenliğini artırmak için bir şifre girilmesi istenecektir:

    Enter file in which to save the key (/root/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    Anahtarın parmak izi ve resmi terminalde görüntülenir:

    The key's randomart image is:
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    

    Oluşturulan SSH anahtarlarını görüntülemek için aşağıdaki komutları kullanabilirsiniz:

    • cat ~/.ssh/id_rsa - özel anahtarı inceleme;
    • cat ~/.ssh/id_rsa.pub - açık anahtarı inceleme.

    Sonraki adım, public anahtarı sunucuya eklemektir. Bunu yapmak için aşağıdaki komutu yazın, <username> kısmını sunucudaki kullanıcı adı ile ve <ip_address> kısmını sunucunun IP adresi ile değiştirin:

    ssh-copy-id <username>@<ip_address>
    
    • <username> — kullanıcı adı;
    • <ip_address> — server public IP address.

    Komutu girdikten sonra, sistem sunucudaki hesabın parolasını isteyecektir. Parolayı girin ve ardından public anahtar sunucuya kopyalanacak ve sunucuda ~/.ssh/authorized_keys dosyasına eklenmiş olacaktır.

    Yukarıdaki adımları tamamladıktan sonra, SSH anahtarı ile sunucuya bağlanmak için aşağıdaki komutu kullanın:

    ssh <username>@<ip_address>
    

Linux işletim sisteminin yeniden kurulum sırasında bir SSH anahtarı oluşturma

SSH anahtarı, işletim sistemini yeniden yüklerken eklenmesi mümkündür. Bunu yapmak için yeni bir işletim sistemi yüklemesi başlamadan önce Invapi üzerinde Reinstall sekmesinde Public ssh key alanını doldurun:

Not

Bir işletim sistemi yeniden yüklemesi isteği örneği için OS reinstallation API methods bakınız.

Windows için SSH anahtar oluşturma

Bilgi

Windows işletim sisteminde SSH anahtarları oluşturmanın iki yöntemi vardır: biri OpenSSH istemcisi kullanarak ve diğeri PuTTY istemcisi kullanarak. Aşağıda her iki yönteme göre anahtarlar oluşturma talimatları verilmiştir.

OpenSSH istemcisi

OpenSSH istemci ile bir SSH anahtarı oluşturmak için aşağıdaki adımları izleyin:

  1. OpenSSH istemcinin varlığını kontrol edin. Bunu yapmak için Parameters >> Applications >> Additional Components'e gidin ve arama çubuğuna SSH yazın.

    Eğer istemci yüklü değilse, Add Component düğmesine tıklayarak arama çubuğunu kullanarak bulun ve ardından Install düğmesine basın.

    Komut satırı ile OpenSSH istemcisinin varlığını kontrol etmek de mümkündür:

    ssh -V
    
  2. komut istemine (kısayol Win+R >> cmd yazın >> OK basın) gidip aşağıdaki komutu girin:

    ssh-keygen
    

    Komut çalıştırıldıktan sonra, anahtarın saklanacağı dosya adını ve konumunu seçmeniz istenecektir. Varsayılan olarak .ssh/ dizininde id_rsa dosyası adıyla saklanır.

    Daha sonra bağlantının güvenliğini artırmak için bir şifre girilmesi istenecektir. Bu zorunlu değildir:

    Enter file in which to save the key (.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:```
    

    Anahtarın parmak izi ve resmi terminalde görüntülenir:

    The key's randomart image is:
    +---[RSA 3072]----+
    |      .     ..o+=|
    |     . .     o +.|
    |      o . o . o.o|
    |       = o . + oo|
    |      . S . + o o|
    |       . = ..o . |
    |        o ..=o+  |
    |         ..+=Xo+ |
    |         .E=*=Oo |
    +----[SHA256]-----+
    
  3. Oluşturulan anahtarları kontrol etmek için önceden belirtilen dizine yerel cihazda gidin. Örneğin, C:\Users\user_name\.ssh:

PuTTY

  1. Putty istemcisini yerel cihaza indirip yükleyin;

  2. Start menüsünden puttygen.exe'yi çalıştırın.

  3. RSA anahtar türünü seçin ve ardından Generate düğmesine basın:

  4. Key Generation penceresinde fareyi rastgele yönlere birkaç kez hareket ettirerek rastgele gürültü oluşturun:

  5. Anahtarı bir şifre ile korumak için Key passphrase alanına girin ve ardından tekrarlayarak Confirm passphrase'a yazın. Ekstra koruma gerekmiyorsa bu alanları boş bırakabilirsiniz:

    Private anahtarı diske kaydetmek için Save Private Key düğmesine basın.

    Sunucuda kimlik doğrulaması için kullanılacak public anahtarı diskte kaydetmek için Save Public Key düğmesine basın.

  6. SSH public anahtarını sunucuya kopyalayın:

    scp </path/to/file> <username>@<ip_address></path/to/destination>
    
    • </path/to/file> — yerel bilgisayarda public anahtara ait tam yolu;
    • <username> — kullanıcı adı;
    • <ip_address> — server public IP address;
    • </path/to/destination> — sunucuda public anahtarın saklanacağı yol.

Windows işletim sisteminin yeniden kurulum sırasında bir SSH anahtarı oluşturma

SSH anahtarı, işletim sistemini yeniden yüklerken eklenmesi mümkündür. Bunu yapmak için yeni bir işletim sistemi yüklemesi başlamadan önce Invapi üzerinde Reinstall sekmesinde Public ssh key alanını doldurun:

Not

Bir işletim sistemi yeniden yüklemesi isteği örneği için OS reinstallation API methods bakınız.

SSH anahtarını silme

Bir SSH anahtarını silmek için:

  • authorized_keys dosyasını açmalısınız, bu dosya genellikle .ssh/ dizininde bulunur. Vim veya Nano gibi komut satırı metin editörlerini kullanabilirsiniz.
  • Kaldırmak istediğiniz public anahtarı içeren satırı bulun. Her bir satır bir anahtarla karşılık gelir.
  • authorized_keys dosyasından kaldırmak istediğiniz public anahtarı olan satırı silin.
  • Değişiklikleri kaydedin ve dosyayı kapatın.
  • Sunucuda SSH hizmetini yeniden başlatmak için değişikliklerin geçerli olması gerekir. Çoğu zaman bunu sudo service ssh restart veya sudo systemctl restart sshd komutları ile yapabilirsiniz.
  • Anahtarın artık SSH bağlantısı için çalışmadığını kontrol edin.

Not

Eğer Windows işletim sistemi yerel cihazda yüklüyse, aynı zamanda known_hosts dosyasını da bulabilir ve içinde uygun SSH anahtarının olduğu satırı silerek temizleyebilirsiniz.


Bu sayfanın bazı içerikleri ya da yazıları AI tarafından oluşturulmuş veya çevrilmiş olabilir.