Linux'ta SSH Jump Sunucusu Nasıl Kurulur
Atlama ana bilgisayarı (ayrıca atlama sunucusu olarak da bilinir), uzak bir ağa giden bir aracı ana bilgisayar veya SSH ağ geçididir ve üzerinden bir ağdaki başka bir ana makineye bağlantı yapılabilir. farklı bir güvenlik bölgesi, örneğin askerden arındırılmış bölge (DMZ). Birbirine benzemeyen iki güvenlik bölgesini birbirine bağlar ve aralarında kontrollü erişim sunar.
Bir atlama ana bilgisayarı, özellikle özel bir ağa ve internetteki kullanıcılara hizmet sağlayan sunucuların bulunduğu bir DMZ'ye yayıldığında yüksek düzeyde güvenli olmalı ve izlenmelidir.
Klasik bir senaryo, masaüstünüzden veya dizüstü bilgisayarınızdan, şirketinizin güvenlik duvarlarıyla yüksek düzeyde güvenliği sağlanan dahili ağının içinden bir DMZ'ye bağlanmaktır. DMZ'deki bir sunucuyu kolayca yönetmek için, sunucuya bir atlama ana bilgisayarı aracılığıyla erişebilirsiniz.
Özetle SSH Jump sunucusu, SSH Protokolü üzerinden özel bir ağdaki diğer Linux sunucularına ağ geçidi olarak kullanılan bir Linux sunucusudur.
Bu makalede, uzak bir Linux sunucusuna atlama ana bilgisayarı aracılığıyla nasıl erişileceğini göstereceğiz ve ayrıca kullanıcı başına SSH istemci yapılandırmalarınızda gerekli ayarları yapılandıracağız.
SSH Atlama Sunucusu Kurulumu
Aşağıdaki senaryoyu düşünün.
Daha fazla netlik sağlamak için aşağıda SSH Jump sunucusunun rolünü gösteren basit bir kurulum bulunmaktadır.
SSH Jump Sunucusunu Yapılandırma Nedenleri
Jump sunucusu, altyapınıza bir ağ geçidi sağlar ve kaynaklarınıza yönelik potansiyel saldırı yüzeyini azaltır. Ayrıca cihazların şeffaf yönetiminin yanı sıra kaynaklarınıza tek bir giriş noktası sağlar.
Altyapınıza bir atlama sunucusu eklerken sunucunun güçlendirilmiş olduğundan emin olun, aksi takdirde hiç kullanmamak kadar iyi olacağını unutmayın. Bu derste buna daha sonra geri döneceğiz.
Basit Bir SSH Jump Sunucusu Nasıl Oluşturulur
Şimdi basit bir SSH Jump sunucusunu nasıl oluşturabileceğinize odaklanalım. İşte basit kurulumumuz.
- Kaynak IP: 105.68.76.85.
- Jump Sunucusu IP'si (buna ana bilgisayar atlama adını vereceğiz): 173.82.232.55.
- Hedef IP (buna host_destination adını vereceğiz): 173.82.227.89.
Yukarıdaki senaryoda, HOST 2 (173.82.227.89)'e bağlanmak istiyorsunuz ancak güvenlik duvarı nedeniyle HOST 1 (173.82.232.55) üzerinden geçmeniz gerekiyor. yönlendirme ve erişim ayrıcalıkları. Jump ana bilgisayarlarına ihtiyaç duyulmasının birkaç geçerli nedeni vardır.
Dinamik Jumphost Listesi
Bir atlama ana bilgisayarı aracılığıyla hedef sunucuya bağlanmanın en basit yolu, komut satırından -A
ve -J
işaretlerini kullanmaktır. Bu, ssh'ye atlama ana bilgisayarıyla bağlantı kurmasını ve ardından hedef sunucuya oradan bir TCP yönlendirmesi kurmasını söyler (makineler arasında Parolasız SSH Oturum Açma işlemi yaptığınızdan emin olun).
ssh -A -J user@jump-server user@destination server
Örneğin, kurulumumuzda, Jump Sunucusu'nda yapılandırılmış james adlı kullanıcıyı ve hedef veya hedef sistemde tecmint'i yapılandırdık.
Komut, kaynak IP'den aşağıdaki gibi görünecektir.
ssh -A -J [email [email
Komut sizden atlama sunucusunun kullanıcı şifresini ve ardından hedef sisteme erişim izni alacağınız hedef sistemin şifresini isteyecektir.
Makinelerdeki kullanıcı adları veya bağlantı noktaları farklıysa, bunları gösterildiği gibi terminalde belirtin.
ssh -J username@host1:port username@host2:port
Çoklu Jumphost Listesi
Aynı sözdizimi birden fazla sunucu üzerinden geçiş yapmak için kullanılabilir.
ssh -J username@host1:port,username@host2:port username@host3:port
Statik Jumphost Listesi
Statik atlama sunucusu listesi, bir makineye bağlanmak için ihtiyaç duyduğunuz atlama sunucusunu veya atlama sunucusunu bildiğiniz anlamına gelir. Bu nedenle, ~/.ssh/config
dosyasına aşağıdaki statik atlama ana bilgisayarı 'yönlendirmesini' eklemeniz ve ana bilgisayar takma adlarını gösterildiği gibi belirtmeniz gerekir.
### First jumphost. Directly reachable
Host vps1
HostName vps1.example.org
### Host to jump to via jumphost1.example.org
Host contabo
HostName contabo.example.org
ProxyJump vps1
Şimdi gösterildiği gibi bir atlama ana bilgisayarı aracılığıyla hedef sunucuya bağlanmayı deneyin.
ssh -J vps1 contabo
İkinci yöntem ise jumphost yapılandırmasını ~.ssh/config
veya $HOME/ dosyanıza eklemek için ProxyCommand seçeneğini kullanmaktır. ssh/config
dosyasını gösterildiği gibi düzenleyin.
Bu örnekte, hedef ana makine contabo'dur ve jumphost da vps1'dir.
Host vps1
HostName vps1.example.org
IdentityFile ~/.ssh/vps1.pem
User ec2-user
Host contabo
HostName contabo.example.org
IdentityFile ~/.ssh/contabovps
Port 22
User admin
Proxy Command ssh -q -W %h:%p vps1
Değişiklikleri kaydedin ve dosyadan çıkın. Değişiklikleri uygulamak için SSH arka plan programını yeniden başlatın.
sudo systemctl restart ssh
Yapılandırma dosyasında kullanılan seçenekleri inceleyelim:
-q
– Bu, sessiz mod anlamına gelir. Uyarıları ve teşhis mesajlarını bastırır.-W
– İstemcideki standart giriş ve çıkışın güvenli kanal üzerinden PORT'taki HOST'a iletilmesini ister.%h
– Bağlanılacak ana bilgisayarı belirtir.%p
– Uzak ana makinede bağlanılacak bağlantı noktasını belirtti.
Jump Sunucusu aracılığıyla Kaynak IP'nizden hedef sisteme 'atlamak' için aşağıdaki komutu çalıştırmanız yeterlidir:
ssh contabo
Yukarıdaki komut ilk olarak ProxyCommand'dan etkilenen arka planda vps1'e bir ssh bağlantısı açacak ve ardından contabo hedef sunucusunda ssh oturumunu başlatacaktır. güçlü>.
SSH Jump Sunucusunu Daha Güvenli Hale Getirme
Bu kurulumu daha güvenli hale getirmenin yollarından biri, Genel SSH anahtarını Kaynak sistemden Jump Sunucusuna ve son olarak hedef sisteme kopyalamak ve ardından şifre kimlik doğrulamasını devre dışı bırakmaktır. SSH şifresiz kimlik doğrulamanın nasıl etkinleştirileceğine ilişkin kılavuzumuza göz atın.
Ayrıca SSH sunucusu güçlendirme ipuçlarına da göz atın.
Ayrıca, Jump sunucusunda hiçbir hassas verinin barındırılmadığından emin olun; aksi takdirde bu, kullanıcı adları ve şifreler gibi erişim bilgilerinin sızmasına ve sistem genelinde ihlale yol açabilir.
Daha fazla bilgi için ssh kılavuz sayfasına bakın veya şu adrese bakın: OpenSSH/Cookbxook/Proxies ve Jump Hosts.
Şimdilik bu kadar! Bu yazıda, uzaktaki bir sunucuya bir atlama ana bilgisayarı aracılığıyla nasıl erişileceğini gösterdik. Soru sormak veya düşüncelerinizi bizimle paylaşmak için aşağıdaki geri bildirim formunu kullanın.