Mae eich dyfais y tu ôl i NAT cludwr, gall agor cysylltiadau allan, ac mae'n rhedeg gweinydd SSH na all neb gyrraedd. Y cais sy'n cyrraedd fel arfer a ffurfir fel "rhowch VPN iddi", sef un ateb ymhlith sawl un. Cyn ei dderbyn, penderfynwch a oes angen un porth TCP gweinyddol arnoch, neu llwybr â llwybrau i is-rwydwaith gyfan, oherwydd prosiectau gwahanol â gwahanol amlygiad yw'r rheini.

Mae twnnel gwrthdro yn ateb y fersiwn gul yn dda. Mae'r ddyfais yn deialu eich canolbwynt, yn gofyn i'r canolbwynt wrando ar borth loopback, ac yn anfon y porth hwnnw yn ôl i'w wasanaeth SSH ei hun. Yna mae gweinyddwyr yn cyrraedd y gwrandäwr drwy'r canolbwynt, nid drwy'r rhyngrwyd cyhoeddus.

Tri amod sy'n penderfynu'r dewis

Ysgrifennwch y rhain cyn unrhyw ffurfweddiad. Dyma'r ffin rhwng mynediad rheoli cyfyngedig ac estyniad rhwydwaith, a chymysgu'r ddau yw'r ffordd mae twnnel o bum llinell yn troi'n rhwydwaith gwastad heb berchennog.

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

Y drydedd res yw'r un y mae pobl yn dadlau amdani. Nid yw twnnel i borth SSH dyfais yn rhoi ei chymdogion ar eich rhwydwaith, ac ni ddylid gwneud iddo ymddangos felly drwy gadwyn o fwy o anfon ymlaen. Os mai'r LAN yw'r gofyniad mewn gwirionedd, dywedwch hynny a dylunio hwnnw yn lle.

Ochr y canolbwynt: cyfrif cyfnewid cyfyngedig

Rhowch gyfrif cyfnewid ei hun i bob dyfais gyda dilysu allwedd gyhoeddus a heb sesiwn ryngweithiol. Match bloc wedi'i gwmpasu i'r cyfrif hwnnw sy'n cadw'r caniatâd yn fach, ac mae'r allwedd breifat yn aros ar y ddyfais lle mae'n perthyn.

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 yw'r llinell ddiddorol. Mae'n gwrthod sesiynau plisgyn ac is-systemau tra'n dal i ganiatáu'r anfon ymlaen sydd ei angen ar y ddyfais, felly ni ellir troi allwedd wedi'i dwyn yn fewngofnod rhyngweithiol. PermitListen sy'n pinio cyfeiriad a phorth y gwrandäwr ar ochr y canolbwynt, ac GatewayPorts no yn ei gadw ar loopback yn hytrach na'i agor i'r rhwydwaith y mae'r canolbwynt yn byw ynddi.

Profwch y ffurfweddiad effeithiol cyn ail-lwytho, a chadwch ail sesiwn ar agor tra byddwch yn gwneud hyn. Match bloc sy'n digwydd bod yn berthnasol i bawb, neu gamgymeriad teipio mewn enw opsiwn, yw'r ffordd glasurol o'ch cloi eich hun allan o'r blwch rydych yn ei galedu. Tynnwch y ffurfweddiad rhedegol a darllenwch yr opsiynau'n ôl yn hytrach na choelio'r ffeil rydych newydd ei hysgrifennu. Sylwch fod cymorth opsiynau'n wahanol rhwng adeilediadau, felly gall gweinydd hŷn anwybyddu llinell a dderbyniwyd gan un newydd.

Ochr y ddyfais: anfon ymlaen sy'n methu'n uchel

Mae'r ddyfais yn agor y cysylltiad ac yn gofyn am y gwrandäwr. Mae'r ddau gyfeiriad yn nadl -R yn golygu pethau gwahanol, ac mae eu darllen o'r chwith i'r dde yw'r ffordd gyflymaf i gofio pa un yw pa.

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

Y pâr chwith yw lle dylai'r canolbwynt wrando. Y pâr dde yw'r hyn y mae'r ddyfais yn cysylltu ag ef pan ddaw cais, wedi'i ddatrys o ochr y ddyfais ei hun. Mae eu cyfnewid yn cynhyrchu twnnel sy'n codi'n lân ac yn anfon ymlaen i'r lle anghywir, sy'n waeth na methiant.

ExitOnForwardFailure=yes sy'n gwneud i'r gorchymyn orffen pan na ellir sefydlu'r gwrandäwr gofynnol, felly mae dolen ailgychwyn yn dweud y gwir wrthych yn hytrach na gadael sesiwn hanner gweithio. Nid yw'n dweud dim am iechyd y gwasanaeth SSH lleol yn ddiweddarach, felly parwch ef â rheolwr proses a phrawf cysylltiad go iawn o bryd i'w gilydd.

Peidiwch byth â disodli'r cyfeiriad gwrando loopback â nod chwilio i osgoi naid ychwanegol. Y newid unigol hwnnw yw'r gwahaniaeth rhwng llwybr rheoli a phorth y gellir ei gyrraedd yn gyhoeddus, ac mae'n digwydd fel arfer wrth ddadfygio ac yna'n aros. Os na all cydweithiwr gyrraedd y porth drwy'r canolbwynt, trwsiwch ffurfweddiad y naid yn hytrach na lledu'r rhwymiad. Loopback yw holl ddadl diogelwch y dyluniad hwn.

Mynediad gweinyddwr drwy'r canolbwynt

Gall gweinyddwr â chyfrif cyffredin ar y canolbwynt neidio drwyddo i'r porth a anfonwyd ymlaen. Nid yw'r cyfrif cyfnewid yn cael ei ddefnyddio ar gyfer hyn, a dyna'r pwynt o'u cadw ar wahân.

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

Gwiriwch allwedd gwesteiwr y ddyfais o dan y ffugenw a ddewisoch, oherwydd mae'r allwedd honno'n adnabod y ddyfais ar ddiwedd y gadwyn ac mae'r twnnel yn gludiant yn unig. Mae'r mewngofnod pen-i-ben yn dal i ddilysu'r ddau ben; nid yw twnnel sy'n terfynu ar ganolfan a rennir yn ei wneud yn llwybr ymddiriededig ar ei ben ei hun.

Perchenogwch y cylch bywyd

Rhedwch orchymyn y ddyfais o dan reolwr proses gydag un enghraifft weithredol yn union a pholisi ailgychwyn a ddewisoch yn fwriadol. Mae'r opsiynau cadw'n fyw yn canfod partner marw; nid ydynt yn atgyfodi proses a adawodd.

Yna ysgrifennwch y weithdrefn ymddeol. Mae pob dyfais yn cael ei gwrandäwr ei hun a'i hallwedd ei hun, felly mae dadgomisiynu'n golygu dirymu'r cyfrif hwnnw a dileu'r allwedd honno, nid cylchdroi cyfrinach sy'n gyffredin i'r fflyd gyfan.

Yn olaf, cofiwch beth mae loopback yn ei brynu i chi. Mae'n cyfyngu amlygiad rhwydwaith ac nid yw'n gwneud dim ynglŷn â defnyddwyr lleol eraill ar ganolfan a rennir, felly mae'n rhaid i bolisi mynediad y canolbwynt ei hun fod yn iawn o hyd. Cyfeirlyfr sshd_config yn dogfennu pob un o'r opsiynau a ddefnyddiwyd uchod, ac mae'n werth darllen yr adrannau anfon ymlaen yn llawn cyn lledu unrhyw un ohonynt.

Erthyglau cysylltiedig