Tækið þitt er á bak við NAT hjá þjónustuveitanda, getur opnað útleiðartengingar og keyrir SSH-þjón sem enginn nær í. Beiðnin sem berst er venjulega orðuð sem "gefðu því VPN", sem er eitt svar af nokkrum. Áður en þú samþykkir hana skaltu ákveða hvort þú þarft eitt stjórnunarlegt TCP-port eða leiðsenda slóð að heilu undirneti, því þetta eru mismunandi verkefni með mismunandi útsetningu.

Öfug göng svara þröngu útgáfunni vel. Tækið hringir í hubinn þinn, biður hubinn að hlusta á loopback-port og sendir það port til baka í eigin SSH-þjónustu. Eftir það ná stjórnendur í hlustunaraðilann gegnum hubinn, ekki gegnum hið opinbera internet.

Þrjú skilyrði sem ráða valinu

Skrifaðu þau niður fyrir hvaða stillingu sem er. Þau eru mörkin milli afmarkaðrar stjórnunarinnkomu og netkerfisútvíkkunar, og að rugla þeim saman er leiðin sem fimm lína göng verða að flötu neti án eiganda.

ConditionReverse tunnel fitsSomething else is needed
How many services must be reachable?One, or a small fixed set on loopbackAnything that needs many ports or dynamic discovery
Who connects, and how are they authenticated?Named administrators with their own hub accountsThird parties, or anything needing per-flow audit you do not control
Does the device's own LAN need to be reachable?NoYes, so a routed VPN or a managed platform is the honest answer

Þriðja röðin er sú sem fólk deilir um. Göng að SSH-porti tækis setja nágranna þess ekki á netið þitt, og ekki á að láta það líta svo út með keðju frekari framsendinga. Ef krafan er í raun LAN, segðu það og hannaðu það í staðinn.

Hubhlið: afmarkaður endurvarpsreikningur

Gefðu hverju tæki sinn eigin endurvarpsreikning með auðkennisvottun með opinberum lykli og án gagnvirkrar lotu. Match blokk sem er afmörkuð við þann reikning heldur heimildinni lítilli, og einkalykillinn er áfram í tækinu þar sem hann á heima.

Match User relay-dev-7
    AuthenticationMethods publickey
    PubkeyAuthentication yes
    AllowTcpForwarding remote
    PermitListen 127.0.0.1:21022
    GatewayPorts no
    MaxSessions 0
    PermitTTY no
    X11Forwarding no
    AllowAgentForwarding no

MaxSessions 0 er áhugaverða línan. Hún synjar skeljar- og undirkerfislotum en leyfir samt framsendinguna sem tækið þarf, svo stolinn lykill er ekki hægt að breyta í gagnvirka innskráningu. PermitListen festir slóð og port hlustunaraðilans á hubhlið, og GatewayPorts no heldur því á loopback í stað þess að opna það fyrir netinu sem hubinn er á.

Prófaðu virku stillinguna áður en þú endurhleður, og hafðu aðra lotu opna á meðan. Match blokk sem á sér stað fyrir slysni við alla, eða innsláttarvilla í heiti valmöguleika, er klassíska leiðin til að læsa þig úti frá kassanum sem þú ert að herða. Tæmdu stillinguna sem er í gangi og lestu valmöguleikana aftur í stað þess að treysta skránni sem þú varst að skrifa. Athugaðu að stuðningur valmöguleika er mismunandi milli útgáfa, svo lína sem er samþykkt í nýrri þjóni getur einfaldlega verið hunsuð í eldri.

Tækishlið: framsending sem mistekst hljóðlega

Tækið opnar tenginguna og biður um hlustunaraðilann. Slóðirnar tvær í viðfanginu -R þýða mismunandi hluti, og að lesa þær frá vinstri til hægri er fljótlegasta leiðin til að muna hvort er hvort.

ssh -NT \
    -o ExitOnForwardFailure=yes \
    -o ServerAliveInterval=30 \
    -o ServerAliveCountMax=3 \
    -R 127.0.0.1:21022:127.0.0.1:22 \
    [email protected]

Vinstri parið er þar sem hubinn á að hlusta. Hægra parið er það sem tækið tengist þegar beiðni berst, leyst frá eigin hlið tækisins. Að skipta þeim framleiðir göng sem koma hrein upp og senda á rangann stað, sem er verra en mistök.

ExitOnForwardFailure=yes lætur skipunina hætta þegar ekki er hægt að koma upp umbeðnum hlustunaraðila, svo endurræsingarlykkja segir þér sannleikann í stað þess að skilja eftir hálfvirka lotu. Hún segir ekkert um hvort staðbundin SSH-þjónusta sé heilbrigð síðar, svo paraðu hana við ferlisstjórnanda og stöku raunverulega tengiprófun.

Skiptu aldrei út loopback-hlustunarslóðinni fyrir villimerki til að sleppa auka hoppi. Þessi eina breyting er munurinn á stjórnunarslóð og porti sem almenningur nær í, og hún gerist venjulega við kembiforritun og verður svo eftir. Ef samstarfsmaður nær ekki portinu gegnum hubinn, lagaðu stökkstillinguna í stað þess að víkka bindingu. Loopback er öll öryggisrökfræðin að baki þessari hönnun.

Aðgangur stjórnanda gegnum hubinn

Stjórnandi með venjulegan reikning á hubnum getur stokkið gegnum hann að framsendu portinu. Endurvarpsreikningurinn er ekki notaður fyrir þetta, og það er einmitt tilgangurinn með að halda þeim aðskildum.

ssh -J [email protected] -o HostKeyAlias=device-7 \
    -p 21022 [email protected]

Staðfestu hýsilinnlykil tækisins undir samnefninu sem þú valdir, því sá lykill auðkennir tækið við enda keðjunnar og göngin eru aðeins flutningur. Innskráning enda til enda auðkennir samt báða enda; göng sem enda á sameiginlegum hub gera það ekki sjálf að traustri slóð.

Taktu eignarhald á lífsferlinum

Keyrðu skipun tækisins undir ferlisstjórnanda með nákvæmlega einu virku tilviki og endurræsingarstefnu sem þú valdir viljandi. Keepalive-valmöguleikarnir greina dauðan mótaðila; þeir vekja ekki ferli sem er hætt.

Skrifaðu síðan niðurlagningarferlið. Hvert tæki fær sinn eigin hlustunaraðila og sinn eigin lykil, svo niðurlagning þýðir að afturkalla þann reikning og fjarlægja þann lykil, ekki að snúa leyndarmáli sem öll flotinn deilir.

Að lokum, mundu hvað loopback gefur þér. Það takmarkar netútsetningu og gerir ekkert varðandi aðra staðbundna notendur á sameiginlegum hub, svo aðgangsstefna hubsins sjálfs verður að vera rétt áfram. sshd_config tilvísun skjalfestir hvern þeirra valmöguleika sem notaðir eru hér að ofan, og það er þess virði að lesa framsendingarkaflana í heild áður en þú víkkar einhvern þeirra.

Tengdir greinar