Uzak sunucunuza sadece şifre ile ssh üzerinden bağlanmak güvenli olmayabilir... Bunun yerine local makinenizde oluşturacağınız bir key ile daha güvenli uzak bağlantı yapabilirsiniz.

Sunucuya Key ile Bağlanmak

Public Key Doğrulaması Ekleme

Sunucunuzu güvenli hale getirmek için bir public(genel) key(anahtar) authentication (dogrulama)sı ayarlaması yapılmalıdır. Bu sunucunuzun güvenliğini SSH Key bağlantılarındaki güvenliğini arttıracaktır.

 

Anahtar Çifti Oluşturma (Generate a Key Pair)

Eğer size ait (Sisteminizde kullandığınız kullanıcı adına göre ayarlanmış) daha önce oluşturduğunuz SSH key pair (SSH anahtar çifti) yoksa -ki bu public (genel) ve privative (özel) anahtar çiftini içerir- bir tane üretmeniz gerekir.

Yeni bir anahtar çifti üretmek için kendi kullanıdığınız makinede, kendi kullanıcınızın olduğu bölümde konsola geçin ve şu konutu verin:

ssh-keygen

yukardaki komutu verince aşağıdaki gibi bir ekran sizi karşılayacak

ssh-keygen output

Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Entera basarak bu oluşturulacak standart yol ve dosya ismini kabul etmiş olursunuz, tabi başka bir konuma ve başka isimle oluşturada bilirsiniz.

Sunucuya Key ile Bağlanmak

Sonraki adımda keyi daha güvenli kılmak için bir şifre (passphrase) girmeniz istenir, boş geçebilirsiniz eğer parola kullanmak istemiyorsanız.

Not: Eğer şifre bölümünü boş geçerseniz, Özel anahtar (private key) doğrulamanızı, şifre girmeden kullanabilirsiniz. Eğer şifre girerseniz bağlanmak (login) olmak için özel anahtarınız ve şifrenize ihtiyacınız olacak. Bir şifre ile anahatarlarınızı (keys) şifrelemek daha güvenli olacaktır, fakat şifreli yada şifresiz key bağlantısı normal basit şifreli baplantıya göre çok daha güvenli olacaktır.

Bu oluşturma işlemi ile id_rsa adlı privative key (özel anahtar), id_rsa.pub adlı public key (genel anahtar) kullanıcının home diznindeki .ssh klasörü içersinde yer alacaktır. Privative key (özel anahtar) kimse ile paylaşılmaması gerektiğini unutmayın.

 

Public Key (Genel Anahtar) in Sunucuya Kopyalanması

Yukardaki işlemden sonra oluşan privative ve public key dosyalarından public keyin içe giriyoruz ve keyin içindeki tüm metni seçiyoruz.

cat ~/.ssh/id_rsa.pub

  Aşağıdaki gibi bir metin olmalı

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

Sunucuya Key ile Bağlanmak

  Yukardaki metni seçip kopyalıyoruz.

 

Public Key (Genel Anahtarı) Suncuya Ekleme

Sunucudaki kullanıcının SSH key doğrulamasını etkin hale getirmek için, bu kullanıcının home klasörü içerisindeki özel bir dosyaya yukardaki public keyi eklemelisiniz.

Sunucuda root kullanıcısıysanız aşağıdaki komutla ssh bağlantısı yapacak kullanıcının home dizinine gidebilirsiniz.

su - demo

 Yukardaki komutla birlikte SSH bağlantısı yapacağımız kullanıcının home dizinindesiniz.

Aşağıdaki komutları kullanarak bir .ssh klasörü oluşturuyoruz

mkdir .ssh
chmod 700 .ssh

 

nano kullanarak authorized_keys adında bir dosyayı bu .ssh klasörü içerisine oluşturup biraz önceki public keyi buraya yapıştırıyoruz ve kaydediyoruz dosyayı.

nano .ssh/authorized_keys

 

Şimdi bu dosya ya olan erişimleri kısıtlayalım.

chmod 600 .ssh/authorized_keys

SSH servisini yeniden başlatalım

systemctl restart ssh

 

Artık sunucuya SSH kullanarak, sizde bulunan privative key ile doğrulama yaparak bağlanabilirsiniz.

Sunucuya Key ile Bağlanmak