Birden fazla Linux sunucusunu yönetirken her sunucunun SSH portunu internete açmak, erişim yönetimini karmaşıklaştırabilir. Özellikle web uygulaması, veritabanı ve yedekleme sunucularının ayrı sistemlerde çalıştığı altyapılarda hangi sunucuya kimlerin erişebileceği dikkatle planlanmalıdır.
SSH ProxyJump, bu ihtiyaca OpenSSH içerisinde yerleşik olarak bulunan bir çözüm sunar. Yönetici, internete açık bir geçiş sunucusuna bağlanarak yalnızca özel ağ üzerinden erişilebilen hedef sunucuda SSH oturumu başlatabilir. Böylece her sunucunun ayrı bir genel IP adresi üzerinden SSH erişimi sunması gerekmez.
Bu yaklaşımın güvenli çalışması için yalnızca ssh -J komutunu bilmek yeterli değildir. Ağ yönlendirmesi, kimlik doğrulama, güvenlik duvarı kuralları ve geçiş sunucusunun yetkileri birlikte değerlendirilmelidir.
SSH ProxyJump Nedir?
ProxyJump, OpenSSH istemcisinin bir veya birden fazla ara SSH sunucusu üzerinden hedef sunucuya bağlantı kurmasını sağlayan özelliktir.
Komut satırında -J parametresiyle, istemci yapılandırmasında ise ProxyJump yönergesiyle kullanılır.
Bu işlemde ilk bağlantı bastion veya jump host adı verilen ara sunucuya yapılır. Ardından ara sunucunun hedefe TCP bağlantısı kurabilme yeteneği kullanılarak hedef SSH servisine ulaşılır.
OpenSSH’nin resmî ssh_config belgesinde ProxyJump, hedef sunucuya ulaşmak için ara SSH bağlantısı ve TCP yönlendirmesi kullanan bir özellik olarak tanımlanır.
ProxyJump’ın önemli avantajı, hedef sunucunun SSH özel anahtarını ara sunucuya kopyalamayı gerektirmemesidir.
Hedef sunucuyla SSH kimlik doğrulaması, bağlantıyı başlatan istemci tarafından gerçekleştirilir. Bastion sunucu ise hedefe ulaşmak için ağ geçiş noktası görevi görür.
Ancak bastion sunucunun ağ erişimi ve SSH yönlendirme yetkileri dikkatle sınırlandırılmalıdır.
Bastion Host ve Jump Host Arasındaki Fark Nedir?
Bastion host ve jump host terimleri çoğu zaman aynı altyapı bileşeni için kullanılır.
Jump host, başka sistemlere erişmek için kullanılan ara sunucuyu ifade eder.
Bastion host ise genellikle erişim kontrolleri sıkılaştırılmış, belirli yönetim işlemleri için kullanılan ve güvenlik sınırında konumlandırılan sunucudur.
Dolayısıyla her bastion sunucu bir geçiş noktası olabilir; ancak her jump host’un yeterli güvenlik önlemleriyle yapılandırıldığı varsayılamaz.
Bir bastion sunucunun güvenilirliği yalnızca internete açık tek SSH sunucusu olmasına bağlı değildir. Yönetici hesaplarının ayrılması, güncelleme yönetimi, erişim kayıtları, ağ kısıtlamaları ve gerektiğinde çok faktörlü kimlik doğrulama da önemlidir.
SSH ProxyJump Nasıl Çalışır?
Üç bileşenli örnek bir altyapı düşünelim:
| Bileşen | Örnek IP | Görev |
|---|---|---|
| Yönetici bilgisayarı | Değişken | SSH bağlantısını başlatır |
| Bastion sunucu | 203.0.113.10 | Yönetim erişiminin geçiş noktası |
| Özel ağdaki sunucu | 10.10.0.20 | Yönetilecek hedef sistem |
203.0.113.10, örnekler için ayrılmış dokümantasyon adresidir. Gerçek bir hizmet IP adresi değildir.
Bu mimaride yönetici bilgisayarı bastion sunucunun SSH portuna erişebilir. Bastion sunucu da özel ağdaki hedef sunucunun SSH portuna erişebilir.
Hedef sunucunun SSH portu ise genel internetten doğrudan erişilebilir değildir.
Bağlantı akışı şöyledir:
Yönetici bilgisayarı → Bastion sunucu → Özel ağdaki hedef sunucu
ProxyJump kullanıldığında istemci, bastion üzerinden hedefin SSH servisine bir taşıma yolu oluşturur. Hedef sunucuyla kurulan SSH oturumu bu yol üzerinden yürütülür.
Bu nedenle bastion sunucuda hedefe ait özel SSH anahtarının tutulması gerekmez.
Bununla birlikte bastion sunucu trafiğin geçtiği bir altyapı bileşeni olduğundan erişilebilirliği, işletim sistemi güvenliği ve yönlendirme izinleri kritik önem taşır.
ProxyJump Kullanmak İçin Gerekenler
Uygulamaya başlamadan önce aşağıdaki koşullar sağlanmalıdır:
- ProxyJump desteği bulunan bir OpenSSH istemcisi kullanılmalıdır.
- Bastion sunucuda çalışan bir SSH servisi bulunmalıdır.
- Bastion sunucu hedef sistemin SSH portuna ağ üzerinden erişebilmelidir.
- Hedef sunucuda SSH servisi çalışıyor olmalıdır.
- Her iki SSH bağlantısı için uygun kullanıcı hesapları ve kimlik doğrulama yöntemleri hazırlanmalıdır.
- Bastion üzerinde TCP forwarding işlemini engelleyen bir politika bulunmamalıdır.
OpenSSH 7.3 sürümüyle tanıtılan ProxyJump, güncel Linux dağıtımlarında yaygın olarak desteklenir. Windows üzerinde de uygun OpenSSH istemcisiyle kullanılabilir.
İstemci sürümünü görüntülemek için:
ssh -VBu komut yalnızca sürüm bilgisini gösterir; sunucu yapılandırmasını değiştirmez.
Linux terminaline yeni başlayanlar, dosya ve komut satırı işlemlerini anlamak için temel Linux komutları rehberinden yararlanabilir.
SSH ProxyJump ile Sunucuya Nasıl Bağlanılır?
1. Bastion sunucu bağlantısını test edin
Öncelikle yönetici bilgisayarından bastion sunucuya normal SSH bağlantısının çalıştığı doğrulanmalıdır.
Buradaki bastionuser örnek kullanıcı adıdır.
İlk bağlantıda SSH istemcisi sunucunun host key parmak izini gösterebilir. Bu bilgi, güvenilir bir kanal üzerinden edinilmiş sunucu parmak iziyle karşılaştırılmalıdır.
Bilinmeyen bir anahtarın sorgusuz kabul edilmesi, yanlış sunucuya bağlanma veya araya girme saldırısı riskini artırır.
Bağlantı başarılı olduktan sonra oturumdan çıkılabilir:
exit2. Hedef sunucunun özel ağ erişimini doğrulayın
Bastion sunucunun hedefe ulaşabildiği kontrol edilmelidir.
Örneğin Linux sistemlerde nc aracı kuruluysa:
nc -vz 10.10.0.20 22Bu komut hedef sunucunun 22 numaralı TCP portuna bağlantı kurulup kurulamadığını test eder.
Port erişilebilir olsa bile SSH kimlik doğrulamasının başarılı olacağı garanti edilmez. Ancak ağ bağlantısı ile kimlik doğrulama problemlerini birbirinden ayırmaya yardımcı olur.
nc aracı her sistemde önceden kurulu olmayabilir. Kullanılan dağıtımın paket yönetiminden temin edilebilir.
3. ssh -J komutuyla hedefe bağlanın
Bastion ve hedef sunucu hazırsa aşağıdaki komut kullanılabilir:
Bu komutta:
-J, ProxyJump özelliğini etkinleştirir.[email protected], ara SSH sunucusunu belirtir.[email protected], bağlantı kurulacak hedef sistemi belirtir.
Bağlantı başarılı olursa hedef sunucuda SSH oturumu açılır.
Bastion üzerinde ayrı bir terminal oturumu başlatıp oradan ikinci bir SSH komutu çalıştırmak gerekmez.
Bu davranış, OpenSSH ssh komutunun resmî belgelerinde açıklanan -J seçeneğine dayanır.
SSH Anahtarlarıyla ProxyJump Kullanımı
Parola tabanlı kimlik doğrulama yerine SSH anahtarları kullanılması, uygun şekilde yönetildiğinde hesap güvenliğini güçlendirebilir.
ProxyJump mimarisinde bastion ve hedef sunucu için farklı SSH anahtarları kullanılabilir.
Örneğin yönetici bilgisayarında iki anahtar bulunduğunu varsayalım:
~/.ssh/id_ed25519_bastion~/.ssh/id_ed25519_hedef
Bu anahtarlar istemci bilgisayarında tutulur.
Bastion sunucunun hedefe ait özel anahtarı depolaması gerekmez.
Yeni SSH anahtarı oluşturma
Yeni bir Ed25519 anahtar çifti oluşturmak için:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_bastionİşlem sırasında özel anahtarın korunması için güçlü bir passphrase belirlenebilir.
Hedef sunucu için ayrı bir anahtar oluşturulacaksa:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_hedefMevcut anahtar dosyalarının üzerine yazılmamalıdır. Özellikle üretim sistemlerinde anahtar oluşturma işleminden önce dosya adları kontrol edilmelidir.
Ubuntu’nun OpenSSH sunucu dokümantasyonu Ed25519 anahtarlarını desteklenen ve önerilen seçeneklerden biri olarak açıklar.
Açık anahtarları doğru sunuculara yerleştirme
Bastion için oluşturulan açık anahtar, bastion üzerindeki ilgili kullanıcının authorized_keys dosyasına eklenir.
Hedef sunucu için oluşturulan açık anahtar ise hedef sistemdeki kullanıcının authorized_keys dosyasına eklenir.
Özel anahtarlar sunuculara kopyalanmaz.
Anahtarların ilk kurulumu için mevcut ve yetkili bir erişim yöntemi gerekir. Hedef sunucu yalnızca özel ağdan erişilebiliyorsa açık anahtarın aktarımı mevcut yönetim oturumu, konsol veya güvenilir yapılandırma otomasyonu üzerinden yapılabilir.
Anahtar izinleri ve kullanıcı sahipliği de kontrol edilmelidir.
Örneğin hedef kullanıcının kendi hesabında:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysBu komutlar ilgili dosya ve dizinin izinlerini düzenler. Dosyaların doğru kullanıcıya ait olması da gereklidir.
Yanlış kullanıcı altında çalıştırılmaları veya hatalı sahiplik bilgileri SSH girişini engelleyebilir.
SSH Config Dosyasıyla Kalıcı ProxyJump Ayarı
Her bağlantıda uzun bir ssh -J komutu yazmak yerine SSH istemcisinin yapılandırma dosyası kullanılabilir.
Linux ve macOS üzerinde kullanıcıya özel yapılandırma genellikle şu konumdadır:
~/.ssh/config
Windows OpenSSH istemcisinde ise genellikle kullanıcı profilindeki .ssh/config dosyası kullanılır.
Örnek SSH config yapılandırması
Host bastion
HostName 203.0.113.10
User bastionuser
Port 22
IdentityFile ~/.ssh/id_ed25519_bastion
IdentitiesOnly yes
ForwardAgent no
Host uygulama-sunucusu
HostName 10.10.0.20
User hedefuser
Port 22
IdentityFile ~/.ssh/id_ed25519_hedef
IdentitiesOnly yes
ProxyJump bastion
ForwardAgent noBu yapılandırmada bastion ve uygulama-sunucusu adları SSH istemcisinde kullanılacak takma adlardır.
Artık hedefe bağlanmak için yalnızca şu komut yeterlidir:
ssh uygulama-sunucusuSSH istemcisi önce bastion bağlantısını oluşturur, ardından hedef sunucuya ulaşır.
SSH config dosyasındaki seçenekler
| Seçenek | Açıklama |
|---|---|
| Host | Bağlantı için kullanılacak takma ad |
| HostName | Gerçek sunucu IP adresi veya DNS adı |
| User | SSH kullanıcı adı |
| Port | SSH servis portu |
| IdentityFile | Kullanılacak özel anahtar dosyası |
| IdentitiesOnly | Belirtilen kimliklerle bağlantı denemelerini sınırlar |
| ProxyJump | Bağlantının hangi ara sunucudan geçeceğini belirtir |
| ForwardAgent | SSH agent forwarding davranışını belirler |
SSH yapılandırma dosyasının erişim izinleri de uygun olmalıdır.
Linux ve macOS sistemlerinde:
chmod 600 ~/.ssh/configKomut, ilgili dosyanın izinlerini yalnızca dosya sahibinin okuma ve yazma erişimiyle sınırlar.
Yapılandırmayı bağlantı kurmadan kontrol etme
SSH istemcisinin bir hedef için hangi ayarları uygulayacağını görmek amacıyla:
ssh -G uygulama-sunucusuBu komut etkin istemci yapılandırmasını gösterir ve hedef sunucuda oturum açmaz.
Özellikle birden fazla Host bloğu bulunan ortamlarda yanlış kullanıcı, port veya ProxyJump seçeneğinin neden kullanıldığını anlamaya yardımcı olur.
Bastion Sunucuda Güvenlik Duvarı Nasıl Yapılandırılır?
ProxyJump mimarisinde güvenlik duvarı kuralları iki ayrı erişim yolunu kapsamalıdır.
İlk yol, yönetici bilgisayarından bastion sunucunun SSH portuna erişimdir.
İkinci yol ise bastion sunucudan hedef sunucunun özel ağdaki SSH portuna erişimdir.
Bastion sunucunun erişimi
Mümkünse bastion sunucunun SSH portuna yalnızca yetkili yönetici IP adreslerinden veya kurumsal VPN üzerinden erişim verilmelidir.
Bu yaklaşım, SSH servisinin tüm internete açık olmasına kıyasla erişim yüzeyini sınırlar.
Ancak yönetici IP adresleri değişken olabiliyorsa sabit IP kısıtlamaları operasyonel zorluk oluşturabilir. Bu durumda VPN veya merkezi kimlik doğrulama gibi yöntemler değerlendirilebilir.
Hedef sunucunun erişimi
Hedef sunucuda SSH portu yalnızca bastion sunucunun ilgili özel ağ IP adresinden gelen bağlantılara açılabilir.
Ubuntu üzerinde UFW kullanılıyorsa, örnek olarak:
sudo ufw allow from 10.10.0.10 to any port 22 proto tcpBuradaki 10.10.0.10, bastion sunucunun varsayımsal özel IP adresidir.
Bu komut bir izin kuralı ekler. Daha önce tanımlanmış geniş kapsamlı izinleri otomatik olarak kaldırmaz.
Bu nedenle güvenlik duvarı kurallarının tamamı kontrol edilmelidir:
sudo ufw status numberedÖnemli: Güvenlik duvarı kurallarını değiştirmeden önce sağlayıcının konsol erişimi veya başka bir kurtarma yöntemi hazır olmalıdır. Yanlış bir kural, uzaktan SSH erişimini kesebilir.
Ayrıca sunucunun işletim sistemi güvenlik duvarı dışında bulut güvenlik grupları, sanal ağ ACL’leri veya harici güvenlik duvarları da bulunabilir.
Bu katmanların birbirini engellemediği doğrulanmalıdır.
ProxyJump ile SSH Agent Forwarding Arasındaki Fark
ProxyJump ve SSH agent forwarding aynı şey değildir.
Agent forwarding, yerel SSH agent üzerindeki kimlik doğrulama yeteneğinin uzak sistem üzerinden kullanılmasına olanak tanır.
Bu yöntem bazı yönetim senaryolarında yararlı olsa da güvenlik riskleri taşır.
OpenSSH’nin agent forwarding güvenlik açıklamasına göre uzak sistemde yeterli yetkiye sahip bir saldırgan, yönlendirilmiş agent bağlantısını kullanarak yerel anahtarların kimlik doğrulama işlemlerini gerçekleştirmesini sağlayabilir.
Bu işlem özel anahtar dosyasının doğrudan ele geçirilmesiyle aynı değildir; ancak agent üzerinden yetkisiz kimlik doğrulama yapılması ciddi bir risktir.
ProxyJump ise hedefe erişmek için genel olarak agent forwarding etkinleştirilmesini gerektirmez.
Bu nedenle yalnızca hedef SSH sunucusuna ulaşılması gereken senaryolarda ProxyJump kullanmak ve gereksiz ForwardAgent yes yapılandırmasından kaçınmak uygun bir yaklaşımdır.
OpenSSH’nin agent kısıtlama dokümantasyonu daha gelişmiş anahtar ve hedef kısıtlamalarını da ele alır.
Birden Fazla Bastion Sunucu Kullanılabilir mi?
ProxyJump birden fazla ara sunucuyu destekler.
Örneğin ağ mimarisinde iki geçiş noktası bulunuyorsa:
Bağlantı belirtilen geçiş sunucularından sırasıyla ilerler.
Bu yaklaşım farklı ağ segmentlerine erişim sağlamak için kullanılabilir.
Ancak her ek geçiş noktası bağlantı bağımlılıklarını artırır. Ayrıca bütün ara sunucuların uygun yönlendirme ve erişim politikalarına sahip olması gerekir.
Çok katmanlı bastion mimarisi yalnızca ağ güvenliği veya erişim politikaları gerektiriyorsa tercih edilmelidir.
ProxyJump ile SCP ve SFTP Kullanımı
SSH üzerinden çalışan dosya aktarım araçları da uygun yapılandırmayla bastion mimarisinden yararlanabilir.
Örneğin SSH config dosyasında uygulama-sunucusu için ProxyJump tanımlandıysa SCP ile dosya gönderilebilir:
scp ./yedek.tar.gz uygulama-sunucusu:/home/hedefuser/Bu komut yerel yedek.tar.gz dosyasını hedef sunucunun belirtilen dizinine kopyalar.
Dosya adının örnek olduğu, gerçek ortamda dosyanın mevcut olması gerektiği unutulmamalıdır.
SFTP oturumu açmak için:
sftp uygulama-sunucusuDosya aktarımı için hedef kullanıcı hesabının ilgili dizinlere yazma yetkisi bulunmalıdır.
SCP veya SFTP kullanılması, kullanıcıya otomatik olarak yönetici yetkisi vermez.
Büyük dosya aktarımlarında bastion sunucunun ağ kapasitesi ve aktarım yolunun bant genişliği de dikkate alınmalıdır.
ProxyJump Bağlantı Hataları Nasıl Çözülür?
ProxyJump yapılandırmalarında görülen hatalar genellikle ağ erişimi, SSH kimlik doğrulaması veya yönlendirme izinleriyle ilişkilidir.
Permission denied (publickey)
Bu hata, ilgili SSH aşamasında açık anahtar kimlik doğrulamasının başarısız olduğunu gösterebilir.
Öncelikle hatanın bastion bağlantısında mı yoksa hedef sunucuda mı oluştuğu belirlenmelidir.
Kontrol edilmesi gerekenler:
- Doğru kullanıcı adı kullanılıyor mu?
- İlgili özel anahtar doğru seçiliyor mu?
- Açık anahtar doğru kullanıcının
authorized_keysdosyasında bulunuyor mu? - Dosya izinleri ve sahiplik doğru mu?
- Sunucunun SSH politikası ilgili anahtar türünü kabul ediyor mu?
Ayrıntılı istemci çıktısı için:
ssh -vvv uygulama-sunucusuBu komut ayrıntılı hata ayıklama bilgisi üretir.
Çıktı; kullanıcı adları, sunucu adresleri ve bağlantı yapılandırması gibi hassas operasyonel bilgiler içerebilir. Destek taleplerinde paylaşılmadan önce incelenmelidir.
Connection timed out
Bağlantı zaman aşımı, hedefe ağ üzerinden ulaşılamadığını veya bağlantının filtrelendiğini gösterebilir.
Bastion ve hedef sunucunun erişimi ayrı ayrı kontrol edilmelidir.
Özellikle güvenlik duvarı kuralları, özel ağ yönlendirmesi ve SSH portları incelenmelidir.
Connection refused
Bu hata, hedef adrese TCP bağlantısı kurulmaya çalışıldığını ancak bağlantının reddedildiğini gösterebilir.
SSH servisinin çalışıp çalışmadığı, doğru portun kullanılıp kullanılmadığı ve güvenlik duvarı davranışı kontrol edilmelidir.
Ubuntu üzerinde SSH servis durumunu görüntülemek için:
sudo systemctl status sshServis adı farklı dağıtımlarda sshd olabilir.
Administratively prohibited
Bu hata, bastion üzerindeki SSH yönlendirme politikasının bağlantıya izin vermediği durumlarda görülebilir.
Sunucu tarafında AllowTcpForwarding, PermitOpen, kullanıcıya özgü Match kuralları veya anahtar bazlı kısıtlamalar incelenmelidir.
Bütün yönlendirme kısıtlamalarını kaldırmak yerine yalnızca gerekli hedef ve port için izin tanımlamak daha güvenlidir.
Host key verification failed
Bu hata, kayıtlı sunucu kimliği ile bağlantıda görülen host key arasında uyuşmazlık bulunduğunda ortaya çıkabilir.
Sunucu yeniden kurulmuş olabilir; ancak araya girme saldırısı ihtimali de değerlendirilmelidir.
Host key kontrolünü tamamen devre dışı bırakmak yerine yeni parmak izi güvenilir bir kanaldan doğrulanmalıdır.
Bastion Sunucunun Güvenliği Nasıl Güçlendirilir?
Bastion sunucu, özel ağdaki diğer sistemlere ulaşabildiği için yüksek öneme sahip bir erişim noktasıdır.
Bu nedenle aşağıdaki güvenlik önlemleri birlikte değerlendirilmelidir:
- Anahtar tabanlı kimlik doğrulama: Parola kullanımını azaltmak ve anahtar yaşam döngüsünü yönetmek.
- Kullanıcı yetkilerini sınırlama: Her yöneticiye yalnızca gerekli hesap ve kaynak erişimini vermek.
- Güvenlik güncellemeleri: İşletim sistemi ve OpenSSH paketlerini desteklenen sürümlerde tutmak.
- Ağ erişimini sınırlandırma: Bastion SSH portunu mümkünse VPN veya izinli kaynak adresleri üzerinden erişilebilir kılmak.
- Yönlendirme politikalarını kısıtlama: Gereksiz TCP forwarding, port ve hedef izinlerini kaldırmak.
- Oturum ve erişim kayıtları: SSH bağlantılarını uygun loglama ve izleme mekanizmalarıyla takip etmek.
- Kurtarma erişimi: SSH erişimi kesildiğinde kullanılabilecek konsol veya başka bir güvenilir yönetim yöntemi bulundurmak.
SSH anahtarları, root erişimi ve UFW yapılandırmasının temel adımları Ubuntu 24.04 VDS güvenlik yapılandırması rehberinde ayrıca ele alınmaktadır.
Buradaki amaç bastion sunucuyu bütün altyapıya sınırsız erişebilen bir sistem haline getirmek değil, denetlenebilir ve gerektiğinde sınırlandırılabilir bir yönetim noktası oluşturmaktır.
ProxyJump Hangi Sunucu Altyapılarında Kullanılabilir?
ProxyJump, yalnızca belirli bir hosting veya bulut sağlayıcısına özgü değildir.
Uygun ağ topolojisi ve OpenSSH erişimi bulunan fiziksel sunucularda, sanal makinelerde ve bulut ortamlarında kullanılabilir.
Örneğin bir VDS sunucu altyapısında birden fazla Linux sistemi yönetiliyorsa, bu sistemlerin özel ağ üzerinden haberleşebildiği ve gerekli erişim kontrollerinin sağlandığı koşullarda bastion mimarisi değerlendirilebilir.
Bununla birlikte bir hizmetin VDS veya Cloud olarak adlandırılması, varsayılan olarak özel ağ, bastion veya merkezi güvenlik grubu özelliği içerdiği anlamına gelmez.
Bu özellikler kullanılan sağlayıcı, sanallaştırma platformu ve hizmet planına göre ayrıca doğrulanmalıdır.
Küçük ve tek sunuculu projelerde ProxyJump gereksiz karmaşıklık oluşturabilir. Böyle durumlarda doğrudan SSH erişiminin güvenlik duvarı, anahtar tabanlı kimlik doğrulama ve uygun erişim politikalarıyla korunması yeterli olabilir.
Daha kapsamlı altyapılarda ise bastion sunucuya ek olarak VPN, merkezi erişim yönetimi veya kimlik tabanlı bağlantı çözümleri değerlendirilebilir.
Sıkça Sorulan Sorular
SSH ProxyJump kullanmak için bastion sunucuya özel anahtar kopyalamak gerekir mi?
Hayır. ProxyJump, hedef SSH kimlik doğrulamasını yerel istemci üzerinden gerçekleştirebilir. Bu nedenle hedef sunucunun özel SSH anahtarının bastion sunucuda bulunması gerekmez.
ProxyJump ile SSH tüneli aynı şey mi?
ProxyJump, SSH üzerinden ara sunucu kullanarak hedefe TCP bağlantısı kurulmasını sağlar. SSH tünelleme ise daha geniş bir kavramdır; yerel, uzak ve dinamik port yönlendirmelerini de kapsar.
ProxyJump kullanmak SSH portunu internete kapatır mı?
Hayır. ProxyJump tek başına güvenlik duvarı veya ağ kuralı değiştirmez. Hedef sunucunun SSH portunun genel internetten erişilememesi için ayrıca uygun ağ politikaları uygulanmalıdır.
Bastion sunucu kapanırsa ne olur?
Bastion üzerinden kurulan yeni bağlantılar başarısız olabilir ve mevcut bağlantılar kesilebilir. Bu nedenle kritik ortamlarda erişim sürekliliği ve alternatif kurtarma yöntemleri planlanmalıdır.
ProxyJump Windows üzerinde çalışır mı?
Evet. ProxyJump destekleyen Windows OpenSSH istemcisiyle kullanılabilir. Komut satırı sözdizimi büyük ölçüde aynıdır; dosya yolları ve kullanıcı profili konumları işletim sistemine göre değişebilir.
ProxyJump bağlantısı için root yetkisi gerekir mi?
Normal SSH istemci bağlantıları için root yetkisi gerekmez. Ancak güvenlik duvarı, SSH sunucu politikası veya kullanıcı hesaplarının yapılandırılması yönetici yetkisi gerektirebilir.
Sonuç
SSH ProxyJump, çok sunuculu Linux altyapılarında erişimi merkezi bir geçiş noktası üzerinden düzenlemek için kullanılabilecek yerleşik bir OpenSSH özelliğidir.
ssh -J komutu veya SSH config dosyasındaki ProxyJump yönergesi sayesinde, özel ağdaki hedef sistemlere doğrudan genel internet erişimi açılmadan SSH bağlantısı kurulabilir.
Bununla birlikte güvenlik, yalnızca ProxyJump kullanımından kaynaklanmaz. Bastion sunucunun kimlik doğrulama politikaları, ağ izinleri, SSH yönlendirme yetkileri ve işletim sistemi güvenliği birlikte ele alınmalıdır.
Doğru yapılandırılmış bir erişim mimarisi, yönetim süreçlerini sadeleştirirken gereksiz dış erişim noktalarının azaltılmasına yardımcı olur. Diğer bağlantı yöntemleri ve sistem yönetimi konuları için SSH ve Linux sunucu yönetimi rehberleri incelenebilir.