Comment on page

SSH Yapılandırması

Uzak Sunucuda SSH Paketinin Kurulması

Kurulan uzak sunucuda kimi zaman SSH paketi yüklü olmayabilir. Bu sebepten ötürü de sunucuya SSH ile bağlanmak imkansızdır. Öncelikle karşı sunucuya aşağıdaki komutlar yardımı ile SSH paketi yüklenmeli ve parolasız bağlantı için gerekli dizin ve dosyalar oluşturulmalıdır.
sudo apt update
sudo apt install ssh
cd
mkdir .ssh
cd .ssh
touch authorized_keys known_hosts config

SSH ile Uzaktan Bağlantı Kurmak

Kurduğumuz sunucuya kişisel bilgisayarımızdan bağlanmak için Türkçe anlamı Güvenli Kabuk Protokolü olan SSH komutunu kullanacağız.
ssh username@serverip
SSH komutunu kullanırken username yerine sunucuya bağlanmak istediğiniz kullanıcı adını, serverip yerine ise sunucu parolası yazılması gerekmektedir.
Bu komutu çalıştırıp uzak sunucudaki kullanıcı parolasını girildiğinde, artık kişisel bilgisayar üzerinden belirtilen sunucuya komut gönderilebilir.

SSH Konfigürasyon Ayarlarının Yapılması

SSH sunuculara ve bilgisayarlara uzaktan bağlantı yapılmasını sağlayan bir araçtır. SSH kişisel bilgisayar üzerinde konfigüre edilmesi ve sunuculara kişisel bilgisayarın tanıtılması yardımı ile parolasız ssh bağlantısı yapılması mümkündür.
Config dosyasının düzenlenmesi
Windows üzerinde C:\Users\username\ .ssh\config , GNU/Linux sistemlerde ise /home/username/.ssh/config dizininde bulunan konfigürasyon dosyası sık olarak bağlanılan sunucuların bağlantı ayarlarının özelleştirilmesi için sıkça kullanılmaktadır. Örnek bir konfigürasyon dosyasını inceleyelim.
Host limanmys
HostName 192.168.1.10
User liman
Host dc1
HostName 192.168.1.11
User server
Host dc2
HostName 192.168.1.12
User server
Temel anahtar kelimeleri tanıyalım.
  • Host : Sunucu için özgürce koyabileceğimiz bir isimdir. Örneğin Liman sunucusu için limanmys ya da limansunucu tercih edilebilir.
  • HostName : Sunucunun ip adresidir.
  • User : Sunucuya hangi kullanıcı ile bağlanılmak isteniyorsa, o kullanıcı verilmelidir. Liman sunucusu için liman tercih edilebilir.
Bu anahtar kelimeler dışında port vs. gibi başka ayarlar da bulunsa da, temel olarak bu anahtar kelimeler ile SSH konfigürasyon dosyası özelleştirilebilir.

SSH Anahtarı ile Sunucuya Parolasız Erişmek

Kişisel bilgisayarınız üzerinde (Windows ya da bir GNU/Linux dağıtımı),
ssh-keygen
komutu ile ssh anahtarı oluşturulabilir. SSH anahtarını bir parola ile oluşturmak mümkündür ancak parola konulmazsa gönderilen sunuculara parolasız erişim imkanı tanır.
ssh-keygen
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):
Enter same passphrase again:
Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
SHA256:*************************** username@pc
+---[RSA 3072]----+
|..B+ |
| |
|o.o.. |
|+* .. o |
|+.o. S. . + |
|. ... oo o . E o|
|.. . . + |
|+o +sssss o |
|+o*o. *+o |
+----[SHA256]-----+
SSH anahtarının uzak sunucuya gönderilmesi
Burada GNU/Linux dağıtımları ve Windows işletim sistemi arasında fark bulunmaktadır.
GNU/Linux için,
kullanılabilir. Bunun yanında konfigürasyon dosyasındaki Host anahtar kelimesi de bu işlem için kullanılabilir. Örneği Liman sunucusu için,
ssh-copy-id limanmys
ssh limanmys
Windows için,
Windows için de konfigürasyon dosyasındaki Host anahtar kelimesinin kullanılması mümkündür.
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh limanmys "cat >> .ssh/authorized_keys"
ssh limanmys
Bu adımdan sonra artık sunucularınıza parolasız erişmeniz mümkün olacaktır. Erişmenin yanı sıra VSCode SSH eklentisini de parolasız kullanabilirsiniz.