SSH Jump -palvelimen määrittäminen Linuxissa


Jump-isäntä (tunnetaan myös nimellä jump-palvelin) on välipalvelin tai SSH-yhdyskäytävä etäverkkoon, jonka kautta voidaan muodostaa yhteys toiseen isäntään eri turvavyöhyke, esimerkiksi demilitarisoitu vyöhyke (DMZ). Se yhdistää kaksi erilaista turvavyöhykettä ja tarjoaa valvotun pääsyn niiden välillä.

Jump-isäntä tulee olla erittäin suojattu ja valvottu erityisesti silloin, kun se kattaa yksityisen verkon ja DMZ:n palvelimien kanssa, jotka tarjoavat palveluita käyttäjille Internetissä.

Klassinen skenaario on yhteyden muodostaminen pöytäkoneeltasi tai kannettavalta tietokoneeltasi yrityksesi sisäisestä verkosta, joka on erittäin suojattu palomuurien avulla DMZ-verkkoon. Jotta voit helposti hallita palvelinta DMZ:ssä, voit käyttää sitä jump-isännän kautta.

Lyhyesti sanottuna SSH Jump -palvelin on Linux-palvelin, jota käytetään yhdyskäytävänä muihin Linux-palvelimiin yksityisessä verkossa SSH-protokollan kautta.

Tässä artikkelissa näytämme, kuinka pääset käsiksi Linux-etäpalvelimelle jump-isännän kautta, ja myös määritämme tarvittavat asetukset käyttäjäkohtaisissa SSH-asiakasasetuksissasi.

SSH Jump Serverin asetukset

Harkitse seuraavaa skenaariota.

Selvyyden vuoksi alla on yksinkertainen asennus, joka osoittaa SSH Jump -palvelimen roolin.

Syitä SSH Jump -palvelimen määrittämiseen

Jump-palvelin tarjoaa yhdyskäytävän infrastruktuuriisi ja vähentää mahdollisia hyökkäyspintoja resursseihisi. Se tarjoaa myös läpinäkyvän laitteiden hallinnan sekä yhden yhteyspisteen resursseihin.

Muista, että kun liität hyppypalvelimen infrastruktuuriisi, varmista, että palvelin on kovettunut, muuten olisi yhtä hyvä kuin olla käyttämättä sitä. Palaamme tähän myöhemmin tässä opetusohjelmassa.

Kuinka luoda yksinkertainen SSH Jump -palvelin

Keskitytään nyt siihen, kuinka voit luoda yksinkertaisen SSH Jump -palvelimen. Tässä on yksinkertainen kokoonpanomme.

  • Alkuperäinen IP: 105.68.76.85.
  • Jump Server IP (kutsumme tätä isäntähypyksi): 173.82.232.55.
  • Kohteen IP (kutsumme tätä host_destination): 173.82.227.89.

Yllä olevassa tilanteessa haluat muodostaa yhteyden HOST 2:een (173.82.227.89), mutta sinun on käytävä läpi HOST 1 (173.82.232.55) palomuurin vuoksi, reititys ja käyttöoikeudet. On useita päteviä syitä, miksi hyppyisäntiä tarvitaan.

Dynaaminen Jumphost-luettelo

Yksinkertaisin tapa muodostaa yhteys kohdepalvelimeen jump-isännän kautta on käyttää -A- ja -J-lippuja komentoriviltä. Tämä käskee ssh:a muodostamaan yhteyden jump-isäntään ja muodostamaan sitten TCP-välityksen kohdepalvelimelle sieltä (varmista, että sinulla on salasanaton SSH-kirjautuminen koneiden välillä).

ssh -A -J user@jump-server  user@destination server

Esimerkiksi asennuksessamme käyttäjä nimeltä james on määritetty Jump Serveriin ja tecmint määritetty kohde- tai kohdejärjestelmään.

Komento näyttää seuraavalta alkuperäisestä IP-osoitteesta.

ssh -A -J [email  [email 

Komento pyytää sinua antamaan hyppypalvelimen käyttäjän salasanan ja sen jälkeen kohdejärjestelmän salasanan, jolla saat pääsyn kohdejärjestelmään.

Jos koneiden käyttäjänimet tai portit eroavat toisistaan, määritä ne päätteessä kuvan osoittamalla tavalla.

ssh -J username@host1:port username@host2:port	  

Useita Jumphosts List

Samaa syntaksia voidaan käyttää hyppyihin useiden palvelimien yli.

ssh -J username@host1:port,username@host2:port username@host3:port

Staattinen Jumphost List

Staattinen jumphost-luettelo tarkoittaa, että tiedät jumphostit tai jumphostit, joita tarvitset koneen yhdistämiseen. Siksi sinun on lisättävä seuraava staattinen jumphost 'reititys' ~/.ssh/config-tiedostoon ja määritettävä isäntäaliakset kuvan mukaisesti.

### 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

Yritä nyt muodostaa yhteys kohdepalvelimeen jump-isännän kautta kuvan osoittamalla tavalla.

ssh -J vps1 contabo

Toinen tapa on käyttää ProxyCommand-vaihtoehtoa jumphost-määrityksen lisäämiseen kohtaan ~.ssh/config tai $HOME/. ssh/config-tiedosto kuvan mukaisesti.

Tässä esimerkissä kohdeisäntä on contabo ja jumphost on vps1.

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

Tallenna muutokset ja poistu tiedostosta. Ota muutokset käyttöön käynnistämällä SSH-daemon uudelleen.

sudo systemctl restart ssh

Tutkitaan määritystiedostossa käytettyjä vaihtoehtoja:

  • -q – Tämä tarkoittaa hiljaista tilaa. Se estää varoitukset ja diagnostiset viestit.
  • -W – Pyytää, että asiakkaan vakiotulo ja -lähtö välitetään HOST on PORT -palvelimelle suojatun kanavan kautta.
  • %h – Määrittää isännän, johon muodostetaan yhteys.
  • %p – Määritti etäisännän portin, johon muodostetaan yhteys.

Jos haluat hyppää' kohdejärjestelmään alkuperäisestä IP-osoitteestasi Jump-palvelimen kautta, suorita seuraava komento:

ssh contabo

Yllä oleva komento avaa ensin ssh-yhteyden vps1:een taustalla, johon ProxyCommand vaikuttaa, ja sen jälkeen käynnistää ssh-istunnon kohdepalvelimelle contabo. vahva>.

SSH Jump Serverin turvallisuuden lisääminen

Yksi tapa tehdä tästä asetuksesta turvallisempi on kopioida julkinen SSH-avain alkuperäisestä järjestelmästä Jump Serveriin ja lopuksi kohdejärjestelmään ja poistaa sitten salasanatodennus käytöstä. Tutustu oppaaseemme salasanattoman SSH-todennuksen käyttöönottamiseksi.

Katso lisäksi SSH-palvelimen karkaisuvinkit.

Varmista myös, että Jump-palvelimessa ei ole arkaluontoisia tietoja, koska tämä voi johtaa käyttöoikeustietojen, kuten käyttäjänimien ja salasanojen, vuotamiseen, mikä voi johtaa järjestelmän laajuiseen tietomurtoon.

Katso lisätietoja ssh-man sivulta tai katso OpenSSH/Cookbxook/Proxies and Jump Hosts.

Tässä kaikki tältä erää! Tässä artikkelissa olemme osoittaneet, kuinka pääset etäpalvelimeen hyppyisäntäkoneen kautta. Alla olevalla palautelomakkeella voit esittää kysymyksiä tai jakaa ajatuksesi kanssamme.