Du skal se én Macs skærm fra din egen maskine, Macen sidder bag en vært, du allerede kan SSH til, og spørgsmålet er, om det fortjener en VPN. Det gør det normalt ikke. Én lokal videresendelse bærer én TCP-port gennem den SSH-session, du allerede har, og til én skærm på én vært er det en mindre og mere reviderbar ordning end at rute et helt netværk.

Tre betingelser afgør det, og enhver af dem kan skubbe dig mod den administrerede VPN.

Tre betingelser afgør det

Den første er omfang: én tjeneste på én vært eller flere værter og flere porte. Den anden er, om hvert spring mellem bastionen og målet allerede er betroet, fordi SSH kun beskytter det segment, det afslutter. Den tredje er, hvem der skal understøtte ordningen, efter du har bygget den, da en håndlavet tunnel har en tendens til at overleve den person, der forstod den. Navngiv den person, før du begynder, og skriv kommandoen et sted, hvor de kan finde den. En udokumenteret videresendelse er en fremtidig hændelse med en udskudt startdato.

Hvis svarene er »én«, »ja« og »mig, foreløbig«, er videresendelsen det rigtige værktøj. Hvis et svar ændrer sig, er et understøttet fjernadgangsdesign billigere over et år end den hændelsesgennemgang, der følger en udokumenteret tunnel.

Videresend én port, ikke netværket

En lokal videresendelse åbner en lytter på din maskine og videresender hver forbindelse gennem SSH-serveren til en destination, som serveren kan nå. For en Mac, hvis skærmdelingstjeneste lytter på TCP 5900, og en bastion, der kan slå mac.corp.example op, er kommandoen kort og bevidst smal. Hver valgmulighed i den findes for at holde ordningen lille: intet shell, ingen lytter på alle netkort, ingen dæmon. Læs den som en omfangserklæring i stedet for en opskrift.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]

Binding af lytteren til 127.0.0.1 holder den væk fra alle andre netkort. Det er ikke en formalitet: en videresendelse bundet til alle netkort gør din laptop til et åbent relæ ind i virksomhedsnetværket for enhver på samme café-Wi-Fi. Hvis porten allerede er i brug, vælg en anden høj port, og opdater fremviseren; stop ikke en urelateret tjeneste for at få eksemplet til at passe.

Kontoen på bastionen skal også have tilladelse til at videresende til den destination. Nogle hærdede SSH-konfigurationer deaktiverer portvideresendelse helt, og nogle begrænser den med et permit-listen- eller permit-open-direktiv. Læs serverpolitikken, før du antager, at en afvist kanal betyder, at adgangskoden var forkert.

Hvad SSH krypterer, og hvor det stopper

SSH-sessionen beskytter trafik fra din Mac til bastionen, og videresendelsen bærer VNC-protokollen inde i den session uden at forstå den. Når forbindelsen forlader bastionen mod målet, er den ikke længere inde i din SSH-session. Hvilken beskyttelse der end findes på det sidste spring, tilhører målprotokollen og det private netværks egne kontroller.

Derfor bør et almindeligt sidste VNC-spring ikke beskrives som end-to-end-krypteret, blot fordi det første spring brugte SSH. Beskriv segmenterne ærligt: stærkt fra klient til bastion og hvad målet end understøtter derefter. Hvis kravet er, at hele vejen skal krypteres af én mekanisme, opfylder videresendelsen det ikke.

Godkendelse på målet er igen en separat sag. SSH-kontoen giver ikke et macOS-login, og skærmdelingstjenesten beder stadig om sine egne legitimationsoplysninger og anvender stadig sin egen adgangsliste. En lokal lytter, der accepterer en forbindelse, beviser intet om, hvorvidt den eksterne tjeneste vil lukke sessionen ind.

Hvornår den fulde VPN er det rigtige valg

Vælg VPN, når opgaven kræver mere end én port: Apple Remote Desktops administrations- og rapporteringsfunktioner bruger ekstra TCP- og UDP-trafik, som en enkelt TCP-videresendelse ikke kan bære. En videresendelse er ikke en delvis implementering af hele produktet; det er et andet, mindre værktøj.

Vælg den, når flere administratorer forbinder fra skiftende steder, fordi en administreret profil distribuerer ruter, legitimationsoplysninger og politik, uden at hver person opfinder en kommandolinje. Vælg den, når revisionssporet skal vise, hvem der forbandt til hvad, da en SSH-session per bruger og en delt lokal videresendelse efterlader meget forskellige registreringer.

Vælg den endelig, når målnetværket slet ikke bør kunne nås fra en laptop uden organisationens egen port. En personlig videresendelse omgår den port med vilje, og det er netop derfor, den hører i en ændringsregistrering og ikke i en shell-historik.

Lad videresendelsen fejle højt

Brug ExitOnForwardFailure=yes, så en mislykket binding stopper sessionen i stedet for at efterlade et shell, der ser forbundet ud og ikke videresender noget. Hold værtsnøgleverifikation slået til, og foretræk en nøgle eller agent frem for en adgangskode. Test derefter den præcise URL, som fremviseren vil bruge, fordi en fungerende SSH-session og en fungerende skærmforbindelse er to forskellige resultater.

For den indbyggede klient på macOS nås fremviseren gennem en lokal URL: open "vnc://127.0.0.1:15900". Hvis vinduet åbner, og værten afviser godkendelse, er tunnelen i orden, og problemet er på målet. Hvis vinduet aldrig åbner, er problemet lytteren eller porten.

Stop sessionen, når du er færdig, og skriv porten, bastionen, målet og kontopolitikken ned. En videresendelse, som ingen har dokumenteret, kan seks måneder senere ikke skelnes fra en bagdør, og det er det stærkeste argument for at holde den lille, navngivet og midlertidig.

Relaterede artikler