Puncte:0

ssh într-un server fără IP public de la un server fără IP public care este ascuns în spatele unui server cu IP public

drapel sk

Am următoarea configurație: aș dori să accesez mașina A de la mașina C, dar niciuna dintre acestea nu are o adresă IP publică. Mașina C este, totuși, în aceeași rețea ca și mașina B, care are un acces IP public, prin urmare pot accesa mașina C de oriunde, introducând mai întâi ssh în mașina B și de acolo ssh în mașina C. Nu am acces root pe mașina B, în timp ce atât la A, cât și la C fac. Consultați următoarea diagramă pentru clarificare:

mașină A mașină B mașină C
fără IP public IP public fără IP public
acces rădăcină fără acces rădăcină acces rădăcină     
cum se acceseaza? '---------------------------'
                           aceeasi retea
                       deci ambele accesibile

O soluție stupidă ar fi ca mașina A să adulmece în mod regulat un fișier în mașina C (prin accesul ssh în 2 pași descris mai sus) și ori de câte ori apare o comandă în acel fișier, să o execute și să scrie ieșirile prin ssh undeva la mașina C. I , totuși, mă întreb, poate ssh „inversa” cumva conexiunea, astfel încât mașina A să se conecteze în 2 pași la mașina C, iar apoi conexiunea să fie „inversată”, astfel încât mașina C să aibă de fapt carcasa de la distanță a mașinii A? Și dacă da, cum o fac?

Puncte:1
drapel in

Poti avea mașinăA pentru a deschide un tunel SSH către mașină B, cu o opțiune de redirecționare de la distanță, care vă va permite să accesați SSH mașinăA din mașină B.

Dacă aveți acces root activat mașină B, apoi setați GatewayPorts opțiunea de configurare pentru da în /etc/ssh/sshd_config, apoi lansați această comandă mașinăA:

ssh -N -R 0.0.0.0:2222:127.0.0.1:22 the_public_ip_of_machine_B

Aceasta va deschide portul 2222 mașină B, și redirecționează orice trafic de pe acel port către el însuși, către portul 22. Rețineți că acesta va asculta pe toate interfețele, inclusiv pe cea publică, așa că este posibil să doriți să utilizați firewall portul numărul 2222 (dar probabil aveți un firewall pe mașină B oricum). În timp ce acest tunel este activ, puteți să faceți SSH mașină B pe portul 2222, iar asta te va duce la mașinăA. De cand mașină B și mașinăC sunt pe aceeași subrețea, vă puteți autentifica mașinăA din mașinăC într-un singur pas.

Dacă nu aveți acces root activat mașină B, atunci procesul este același, cu excepția adresei de ascultare. Dacă GatewayPorts este setat sa Nu (care este implicit), apoi primul argument (0.0.0.0) va fi pur și simplu ignorată, iar adresa de ascultare va fi legată 127.0.0.1. În acest caz, puteți utiliza în continuare comanda de sus, iar redirecționarea va funcționa la fel, dar portul deschis nu va fi disponibil de oriunde decât de la mașină B. Deci trebuie să intrați în SSH mașină B, apoi SSH la gazdă locală, portul 2222, care vă va duce la mașinăA.

Cu toate acestea, poate doriți să luați în considerare utilizarea a ceva mai robust, cum ar fi un VPN.

drapel sk
Mulțumesc, o voi încerca mâine, este deja destul de târziu în locația mea. Îmi voi edita întrebarea, nu am acces la rădăcină pe B și aș prefera să fac cât mai mult posibil pe C - mașina B este doar un front-end prin care să se conecteze și administratorul nu ar fi foarte mulțumit dacă aș da de cap acolo .

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.