Bloğa geri dön

Ubuntu'da Uzak Sunucuya Bağlanmak İçin SSH Nasıl Kullanılır

Ubuntu'da Uzak Sunucuya Bağlanmak İçin SSH Nasıl Kullanılır

SSH Nedir?

SSH, Güvenli Kabuk (Secure Shell) anlamına gelir. SSH ile bağlantı şifreli olduğu için uzak makinelere güvenli bir şekilde erişebilirsiniz. Linux terminalindeki ssh komutuyla uzak Linux sunucularına bağlanabilir ve sanki kendi bilgisayarımızmış gibi çalışabiliriz. Bu eğitimin sonunda, uzak bir sunucuya bağlanmak için SSH'yi nasıl kullanacağınızı tam olarak anlamış olacaksınız: Ubuntu.

Sözdizimi

Sözdizimi, ssh komutunu nasıl kullanabileceğinizin kuralıdır. Sözdizimini yeniden düzenleyebilirsiniz, ancak doğrudan bir biçim izlenmelidir. Aşağıda ssh komutunu kullanmak için bir sözdizimi örneği verilmiştir:

Bağlanmak istediğiniz alan adı veya IP adresi, yukarıdaki komutta gösterildiği gibi remote_host'tur. Bu sözdizimi, uzak sistemdeki ve yerel sisteminizdeki kullanıcı adınızın aynı olduğunu varsayar. Ancak, kullanıcı adlarının aynı olmaması durumunda, bunu şu komutla belirtebilirsiniz:

Sunucuya bağlandığınızda hemen bir şifre girerek kimliğinizi doğrulamanız gerekecektir. Yerel oturumunuza geri dönmek için exit komutunu yazın.

SSH Nasıl Yapılandırılır

Ubuntu'daki ana sshd yapılandırma dosyası /etc/ssh/sshd_config adresinde bulunur. SSH yapılandırmasını değiştirirseniz, SSHD sunucu ayarları otomatik olarak değişecektir. Herhangi bir yapılandırmadan önce, bu komutu kullanarak dosyanın mevcut sürümünü yedeklediğinizden emin olun:

Açmak için bir metin düzenleyici kullanın:

Bu dosyadaki parametrelerin çoğuna dokunmamalısınız. Ancak dikkat etmeniz gereken birkaç şey var:

Port bildirimleri, SSHD sunucusunun bağlantıları beklediği portu belirtir. Varsayılan değer 22'dir. Özel nedenler olmadıkça bu ayarı değiştirmenize gerek yoktur:

Host anahtarı bildirimi, genel host anahtarının nerede bulunduğunu belirtir:

Tutulması gereken günlüklerin (log) düzeyi bu iki öğeyle belirtilir. SSH kullanırken sorun yaşıyorsanız, sorunu tespit etmenin mükemmel bir yolu günlük sayısını artırmaktır:

Bu seçenekler, yapılandırma dosyaları güvensiz olduğunda yetkisiz girişi önlemek için girişle ilgili bazı bilgileri tanımlar:

Bu parametre yapılandırmaları X11 yönlendirme işlevleri olarak adlandırılır. Bu sayede uzak sistemin grafik arayüzünü (GUI) yerel sistemde görüntüleyebilirsiniz. SSH istemcisine -X seçeneğiyle bağlanırken sunucuda bu seçeneği etkinleştirmeniz gerekir.

Değişiklikleri yaptıktan sonra CTRL-X ve Y tuşlarına basıp ardından Enter tuşuna basarak dosyayı kaydedip kapatın. Eğer /etc/ssh/sshd_config dosyasındaki ayarları değiştirirseniz, değişikliği uygulamak için sshd sunucusunu yeniden başlatmalısınız:

Ubuntu 16.04 veya Debian Jessie gibi systemd sistemleri için bu komutu kullanın:

Her şeyin mükemmel çalıştığından emin olmak için değişikliklerinizi iyice test edin. Herhangi bir değişiklik yaparsanız muhtemelen bazı oturumları aktif tutmalısınız. Bu sayede gerekirse yapılandırmayı geri yükleyebilirsiniz.

Anahtarlarla SSH'ye nasıl giriş yaparsınız? Uzak bir sisteme şifre ile giriş yapmak iyidir. Ancak, en iyisi anahtar tabanlı kimlik doğrulaması ayarlamaktır.

Anahtar Tabanlı Kimlik Doğrulama Nedir?

Anahtar tabanlı kimlik doğrulama, özel (private) ve genel (public) anahtar olarak adlandırılan iki anahtar çifti oluşturur. Özel anahtar kullanıcının bilgisayarında bulunur, korunur ve gizli tutulur. Genel anahtar ise herkese açık hale getirilebilir veya erişmek istediğiniz herhangi bir sunucuda saklanabilir. Bir anahtar çifti kullanarak bağlanmaya çalışırsanız, sunucu genel anahtarı kullanarak kullanıcı bilgisayarı için bir mesaj oluşturur. Kullanıcı bu mesajı yalnızca özel anahtarı kullanarak okuyabilir. Kullanıcı bilgisayarı daha sonra sunucuya bir yanıt gönderir ve sunucu kullanıcının gerçek olduğunu anlar. Anahtar ayarlandıktan sonra tüm süreç arka planda otomatik olarak tamamlanır.

SSH Anahtarları Nasıl Oluşturulur

SSH anahtarları, giriş yapmak istediğiniz bilgisayarda oluşturulmalıdır. Bu genellikle yerel bilgisayarınızdır. Komut satırına aşağıdakini girin:

Ardından, ENTER TUŞUNA basarak varsayılan değerleri kabul edin. Anahtarlarınızı ~/.ssh/id_rsa.pub ve ~/.ssh/id_rsa konumlarında oluşturacaktır. Sonra, .ssh dizinine geçmek için aşağıdaki komutu yazın:

Dosya izinleri şunlardır:

list files in .ssh folder

Gördüğünüz gibi, id_rsa dosyasını yalnızca sahibi okuyabilir ve yazabilir. Bu nedenle, onu güvende tutmalısınız. Ancak, id_rsa.pub dosyasını paylaşabilir ve bu işlem için uygun izinlere sahip olabilirsiniz. Bir sonraki adım, aşağıdaki sözdizimini kullanarak genel anahtarı sunucuya aktarmaktır:

Bu işlem bir SSH oturumu başlatır ve kimlik doğrulama için bir şifre kullanmanız gerekir. Şifreyi girdikten sonra, genel anahtarınız sunucunun yetkilendirilmiş anahtar dosyasına kopyalanacaktır, böylece bir sonraki sefer şifresiz giriş yapabilirsiniz.

Şifre Kimlik Doğrulaması Nasıl Devre Dışı Bırakılır

Bir SSH anahtarı oluşturulduysa, yalnızca şifreyle kimlik doğrulamayı devre dışı bırakarak sunucunun güvenliğini artırabilirsiniz. Konsolu kullanmak yerine, sunucuya yüklenmiş genel anahtarla birlikte özel anahtarı kullanarak sunucuda oturum açabilirsiniz.

Not: Bu adıma geçmeden önce genel anahtarı sunucuya yüklediğinizden emin olun. Aksi takdirde engellenirsiniz!

Bu komutu kullanarak sshd yapılandırma dosyasını açın:

Başındaki # işaretini silerek PasswordAuthentication satırını bulun ve yorum satırı olmaktan çıkarın. Ardından değeri “no” olarak değiştirebilirsiniz:

PubkeyAuthentication ve ChallengeResponseAuthentication varsayılan olarak ayarlanmıştır ve şu şekilde görünmelidir:

Bu iki ayarı değiştirmemelisiniz. Bundan sonra, değişiklikleri yaptıktan sonra dosyayı kaydedip kapatın. Ardından, SSH arka plan programını (daemon) yeniden başlatmak için aşağıdaki komutu kullanın:

Son olarak, Şifre kimlik doğrulamasını devre dışı bıraktınız ve sunucunuza artık yalnızca SSH anahtarı kimlik doğrulaması kullanılarak erişilebilir.

Sonuç

Bu eğitimde, Ubuntu'da uzak bir sunucuya güvenli bir şekilde bağlanmak için SSH'yi nasıl kullanacağınızı gösterdik. Eğer bir sistem yöneticisiyseniz SSH kullanmayı öğrenmek temel bir gerekliliktir, bu nedenle bu eğitimde uzmanlaştıktan sonra SSH'nin daha gelişmiş özellikleriyle devam edebilirsiniz.

Keyifli çalışmalar!

 

author

Akshay Nagpal

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.