Örneklerle Linux’ta Ssh Komutu Nasıl Kullanılır

Merhabalar,

Secure Shell (SSH), bir istemci ve bir sunucu arasında şifreli bir bağlantı için kullanılan bir kriptografik ağ protokolüdür. ssh istemcisi, uzak bir makinedeki SSH sunucusuna güvenli bir bağlantı oluşturur. Şifreli bağlantı, sunucuda komutları, X11 tünelini, bağlantı noktası iletmeyi ve daha fazlasını yürütmek için kullanılabilir.

 

OpenSSH en yaygın kullanılan istemci olmak üzere hem ücretsiz hem de ticari bir dizi SSH istemcisi mevcuttur. Linux, OpenBSD, Windows ve macOS dahil olmak üzere tüm büyük platformlarda mevcuttur.

Bu makale, uzak bir makinede oturum açmak ve komutları çalıştırmak veya diğer işlemleri gerçekleştirmek için OpenSSH komut satırı istemcisinin (ssh) nasıl kullanılacağını açıklar.

 

OpenSSH İstemcisini Yükleme:

OpenSSH istemci programı ssh olarak adlandırılır ve terminalden çağrılabilir. OpenSSH istemci paketi, ssh komutuyla birlikte kurulan scp ve sftp gibi diğer SSH yardımcı programlarını da sağlar.

 

OpenSSH İstemcisini Linux’a Kurmak:

OpenSSH istemcisi, varsayılan olarak çoğu Linux dağıtımına önceden yüklenmiştir. Sisteminizde ssh istemcisi kurulu değilse, dağıtım paket yöneticinizi kullanarak kurabilirsiniz.

 

OpenSSH’yi Ubuntu ve Debian’a Yükleme:

sudo apt update
sudo apt install openssh-client

 

 

OpenSSH’yi CentOS ve Fedora’ya Yükleme:

sudo dnf install openssh-clients

 

ssh Komutu Nasıl Kullanılır:

SSH aracılığıyla uzak bir makinede oturum açabilmek için aşağıdaki gereksinimler karşılanmalıdır:

Uzak makinede bir SSH sunucusu çalışıyor olmalıdır.

SSH bağlantı noktası, uzak makine güvenlik duvarında açık olmalıdır.

Uzak makinede belirli bir hesabın kullanıcı adını ve şifresini bilmelisiniz. Hesabın uzaktan oturum açma için uygun ayrıcalıklara sahip olması gerekir.

 

ssh komutunun temel söz dizimi aşağıdaki gibidir:

ssh [OPTIONS] [USER@]:HOST

 

ssh komutunu kullanmak için Terminal veya PowerShell’inizi açın ve ssh ve ardından uzak ana bilgisayar adını yazmalıyız.

 

ssh 192.168.88.115

SSH üzerinden uzak bir makineye ilk kez bağlandığınızda yukarıdaki  gibi bir mesaj göreceksiniz.

Her ana bilgisayarın ~/.ssh/known_hosts dosyasında saklanan benzersiz bir fingerprint ( parmak izi ) vardır.

Uzak fingerprint (parmak izini ) saklamak için evet yazmalıyız ve parolanızı girmeniz istenecektir.

Parolayı girdikten sonra, uzak makinede oturum açabiliriz

 

 

 

Kullanıcı adı belirtilmediğinde, ssh komutu mevcut sistem oturum açma adını kullanır.Bakınız ben aşağıda bir bir makineye bağlanmaya çalışıyor.Herhangi bir kullanıcı belirtmedim.ssh IP adresinin önüne bağlanmaya çalıştığım makinenin kullanıcı hesabının adını ekledi.

 

Farklı bir kullanıcı olarak oturum açmak için kullanıcı adını ve ana bilgisayarı aşağıdaki biçimde belirtmeliyiz

ssh root@192.168.88.115

 

 

 

Kullanıcı adı ayrıca  -l seçeneğiyle de belirtilebilir aşağıdak gibi.

ssh -l root 192.168.88.115

 

 

Varsayılan olarak, hiçbir bağlantı noktası verilmediğinde, SSH istemcisi uzak sunucuya port (bağlantı noktası)  22’den bağlanmayı deneyecektir. Bazı sunucularda yöneticiler, sunucuya ekstra bir güvenlik katmanı eklemek için varsayılan SSH portunu (bağlantı noktasını) değiştiriyor ve bu da riskleri azaltıyor. otomatik saldırılar varsayılan olmayan bir bağlantı noktasına bağlanmak için bağlantı noktasını belirtmek üzere -p seçeneğini kullanmalıyız.

ssh -p 22 root@192.168.88.115

 

 

Kimlik doğrulama veya bağlantı sorunları yaşıyorsanız, ssh’ye hata ayıklama mesajlarını yazdırmasını söylemek için -v seçeneğini kullanmalıyız.

Ayrıntı düzeyini artırmak için -vv veya -vvv kullanın.

ssh -p 5522 -v root@192.168.88.115

 

 

SSH Yapılandırma Dosyası:

Günlük olarak SSH üzerinden birden fazla uzak sisteme bağlanıyorsanız, tüm uzak IP adreslerini, farklı kullanıcı adlarını, standart olmayan bağlantı noktalarını ve çeşitli komut satırı seçeneklerini hatırlamanın imkansız değilse de zor olduğunu göreceksiniz.

OpenSSH istemcisi, kullanıcı başına yapılandırma dosyasında (~/.ssh/config) ayarlanan seçenekleri okur. Bu dosyada, bağlandığınız her uzak makine için farklı SSH seçenekleri saklayabilirsiniz.

 

Örnek bir SSH yapılandırması aşağıda gösterilmiştir:

ssh linuxdata yazarak ssh istemcisini çağırdığınızda, komut ~/.ssh/config dosyasını okuyacak ve linuxdata ana bilgisayarı için belirtilen bağlantı ayrıntılarını kullanacaktır. Bu örnekte, ssh  linuxdata aşağıdakine eşdeğerdir.

ssh -p 22 root@192.168.88.115

 

 

Public Key Authentication (Ortak Anahtar Kimlik Doğrulaması):

SSH protokolü, çeşitli kimlik doğrulama mekanizmalarını destekler.

Ortak anahtar tabanlı kimlik doğrulama mekanizması, parolanızı yazmanıza gerek kalmadan uzak sunucuda oturum açmanıza olanak tanır.Bu konuya ilgili başka bir eğitim yazısı hazırlayacağım.

Bu yöntem, kimlik doğrulama için kullanılan bir çift şifreleme anahtarı oluşturarak çalışır. Private Key (Özel anahtar), istemci cihazda depolanır ve Public key (ortak anahtar), oturum açmak istediğiniz her uzak sunucuya aktarılır. Uzak sunucu, anahtar kimlik doğrulamasını kabul edecek şekilde yapılandırılmalıdır.

Yerel makinenizde zaten SSH anahtar çiftiniz yoksa şunu yazarak bir tane oluşturabilirsiniz:

ssh-keygen -t rsa -b 4096 -C "firat@linuxdata.net"

Güvenli bir parola yazmanız istenecektir. Bir parola kullanmak isteyip istemediğiniz size kalmış.

Anahtar çiftinizi aldıktan sonra public key (ortak anahtar)` ı uzak sunucuya kopyalayın:

ssh-copy-id root@192.168.88.115

Uzak kullanıcı parolasını girin, public key (genel anahtar) uzak kullanıcının authorized_keys (yetkili anahtarlar) dosyasına eklenecektir.

Anahtar yüklendikten sonra, parola sorulmadan uzak sunucuda oturum açabilirsiniz.

Anahtar tabanlı bir kimlik doğrulama ayarlayarak oturum açma işlemini basitleştirebilir ve sunucu güvenliğini artırabilirsiniz.

 

 

 

 

Port Forwarding (Port Yönlendirme):

SSH tunnel (tünel) veya SSH port yönlendirme, bir istemci ile bir sunucu makinesi arasında hizmet bağlantı noktalarının aktarılabileceği şifreli bir SSH bağlantısı oluşturma yöntemidir.

SSH iletme, VNC veya FTP gibi şifrelenmemiş bir protokol kullanan hizmetlerin ağ verilerini taşımak, coğrafi kısıtlamalı içeriğe erişmek veya ara güvenlik duvarlarını atlamak için kullanışlıdır. Temel olarak, herhangi bir TCP bağlantı noktasını iletebilir ve trafiği güvenli bir SSH bağlantısı üzerinden tunnel oluşturabiliriz.

Üç tür SSH bağlantı noktası yönlendirme vardır.Aşağıda bunları kısaca açıklayacağım.

 

Local Port Forwarding (Yerel Bağlantı Noktası Yönlendirme):

Yerel bağlantı noktası iletme, istemci ana bilgisayardan SSH sunucusu ana bilgisayarına ve ardından hedef ana bilgisayar bağlantı noktasına bir bağlantı iletmenize olanak tanır.

Yerel bir bağlantı noktası yönlendirme oluşturmak için -L seçeneğini ssh istemcisine iletmeliyiz.

-f seçeneği, ssh komutunun arka planda çalışmasını ve -N’nin bir uzak komutu yürütmemesini söyler.

 

Remote Port Forwarding (Uzak Bağlantı Noktası Yönlendirme):

Uzak bağlantı noktası iletme, yerel bağlantı noktası iletmenin tersidir. Sunucu ana bilgisayarından istemci ana bilgisayara ve ardından hedef ana bilgisayar bağlantı noktasına bir bağlantı noktas iletir.

-R seçeneği, ssh’ye bir uzak bağlantı noktası yönlendirme oluşturmasını söyler.

 

Dynamic Port Forwarding (Dinamik Bağlantı Noktası Yönlendirme):

Dinamik bağlantı noktası iletme, bir dizi bağlantı noktası arasında iletişime izin veren bir SOCKS proxy sunucusu oluşturur.

Dinamik bir bağlantı noktası yönlendirme (SOCKS) oluşturmak için -D seçeneğini ssh istemcisine iletmeliyiz.

Bu konu içinde bir eğitim yazısı yazıp linkini buraya burakacağım.

 

Bu eğitim yazımızında sonuna geldik.Umarım sizler için faydalı olur.

 

 

Bu eğiticiye oy ver
[Total: 1 Average: 5]
Firat CANOĞLU TAĞ