Puncte:0

Automatizați redirecționarea portului ssh folosind DNS

drapel cn

Am un număr de gazde ssh (o duzină), pentru simplitate gazda1, gazdă2, etc.

Am frecvent nevoie să redirecționez portul, de ex.

ssh -L 8888:localhost:8888 host1
ssh -L 8889:localhost:8888 host2
ssh -L 8890:localhost:80 host2

Acest lucru este enervant deoarece 1) trebuie să-mi amintesc maparea de la porturile locale la gazde și 2) trebuie să fac asta manual

Aș dori să implementez un fel de sistem care să asculte anumite gazde (local, pe mașina mea), de ex. host1.8888.ssh.local și a deschis automat tunelul către această adresă.

anx avatar
drapel fr
anx
Se pare că adăugarea câtorva nume de gazdă statice prin `/etc/hosts` și definirea asociațiilor localport/remoteport prin activarea socket-ului systemd ar putea automatiza acest lucru.
drapel cn
@anx sună foarte rezonabil
Puncte:3
drapel kz

Puteți configura toate aceste lucruri în interiorul fișierului de configurare ssh, care se găsește de obicei la locația: $HOME/.ssh/config

de exemplu:

Gazdă abc
    Nume gazdă 1.2.3.4
    Portul 345
    IdentityFile /path/to/id_rsa
    LocalForward 8888 localhost:8888
    Rădăcină utilizator
Gazdă def
    Nume gazdă 2.3.4.5
    Rădăcină utilizator
    LocalForward 8889 localhost:8889

În acest fel, trebuie doar să tastați ssh abc și toate setările pe care le specificați acolo vor fi aplicate. Opțiuni disponibile găsite în interiorul pagina de manual.

drapel cn
Mulțumesc, sunt conștient de această opțiune în configurațiile ssh. Nu rezolvă punctele principale: memorarea porturilor și deschiderea manuală a porturilor
drapel us
Ce înțelegi prin „deschiderea manuală a porturilor”? Și nu văd de ce asta nu ar rezolva problema „memorării porturilor”? Porturile sunt stocate în configurație și trebuie să vă amintiți doar numele de gazdă pe care le atribuiți în configurație.
Martin avatar
drapel kz
@TeroKilkanen este corect. Chiar dacă ați uitat numele de gazdă atribuit, puteți pur și simplu să aruncați o privire în configurație pentru a verifica ce gazde ați definit acolo.
drapel cn
Asta înseamnă - mai trebuie să ssh. Tunelul ar trebui să fie deschis automat
drapel cn
„Amintiți-vă numele de gazdă pe care le atribuiți în configurație” corect, acest pas ar trebui eliminat. Pentru utilizator (în acest exemplu - eu) ar trebui să fie posibil să folosească numele de gazdă a mașinii pentru a utiliza tunelul
Martin avatar
drapel kz
După cum s-a spus deja, puteți folosi orice doriți ca nume de definiție a gazdei - deci este foarte bine să utilizați numele de gazdă a mașinii în definiția gazdă. Aveți tot ce aveți nevoie, pentru a automatiza acest lucru, trebuie doar să puneți toate comenzile ssh (cu ```-fN```) într-un script și să plasați acel script în fișierele de pornire...
drapel cn
După cum am spus deja, sunt bine conștient de configurațiile ssh. Să păstrezi o duzină de conexiuni nu mi se pare o idee grozavă. Când pornește notebook-ul, s-ar putea să nu existe deloc internet, pentru că pot fi într-un tren. Sistemul ar trebui să funcționeze pentru mai mulți utilizatori și să le permită să nu memoreze porturi (în plus, nu setate de ei).
drapel cn
Pot să repet: această soluție nu are nimic de-a face cu cerințele stabilite în întrebare

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.