Så här kör du en fjärr-Wolframkärna från en bärbar dator via VPN
Ett VPN transporterar bara anslutningen. Planera kärnbehörigheten, SSH-starten, den fjärrkörbara filen och filsökvägarna före den första utvärderingen.
Du ansluter VPN:et, öppnar anteckningsboken och förväntar dig att den tunga cellen ska köras på servern. I praktiken transporterar tunneln bara paket. Den installerar ingen utvärderare, beviljar ingen licens och väljer inte vilken maskin som kör koden. Det är tre separata saker, och ett arbetsflöde med fjärrkärna behöver alla tre innan den första beräkningen är tillförlitlig.
Myten: en VPN-anslutning är själva uppsättningen
VPN:et tillhandahåller en nätverksväg mellan den bärbara datorn och servern. Det är användbart och ofta nödvändigt, eftersom startkanalen och kärnanslutningen måste nå fjärrvärden. Det säger ingenting om huruvida det finns en Wolframkärna på värden, om licensen tillåter en andra samtidig process eller om gränssnittet är konfigurerat att använda den.
En hanterad bärbar dator kan bara innehålla gränssnittet, medan behörigheten är knuten till servern. Det omvända händer också: en skrivbordslicens på den bärbara datorn ger inte rätt till en kärna på delad infrastruktur. Inget av fallen löses genom att ansluta tunneln igen.
Testa antagandet tidigt. Utvärdera $MachineName i en ny anteckningsbok och jämför svaret med den värd du förväntar dig. Om den returnerar den bärbara datorns namn kördes cellen lokalt, oavsett hur frisk VPN:et ser ut.
Separera gränssnittet från utvärderaren
Gränssnittet är fönstret: det redigerar celler, visar utdata och sparar anteckningsboksfilen. Kärnan är processen som utvärderar uttryck och håller definitioner i minnet. Att stänga gränssnittet flyttar inte kärnan, och att spara anteckningsboken sparar inte kärnans tillstånd.
När en fjärrkärna är ansluten är anteckningsbokens filplats och kärnans arbetskatalog två olika saker. Directory[] rapporterar utvärderarens katalog, och det är den sökväg som spelar roll för Import, Export och relativa filnamn. En datamängd bredvid anteckningsboken på den bärbara datorn är inte synlig för en kärna som körs på en annan maskin.
Bestäm hur data ska nå servern innan du skriver analysen: en delad monterad plats, ett godkänt överföringssteg eller en databas som servern kan nå direkt. Valet påverkar reproducerbarheten, eftersom en anteckningsbok som är beroende av en sökväg på den bärbara datorn misslyckas nästa gång någon annan kör den.
Starta kärnan via en godkänd kanal
Wolframs guide för fjärrkärnor beskriver hur du lägger till en kärnpost, väljer fjärrmaskinen och startar via SSH. Sökvägen till den körbara filen och argumenten i exemplet tillhör den produktens arbetsflöde; anpassa dem till värden och versionen som administratören anger i stället för att klistra in dem oförändrade.
Värdens identitet är en del av uppsättningen. Verifiera SSH-värdnyckeln genom organisationens process, använd den utfärdade autentiseringsmetoden och håll privata nycklar och lösenord utanför anteckningsboksfiler som delas eller checkas in i ett arkiv. En anteckningsbok med ett startkommando och ett lösenord är en läcka av inloggningsuppgifter, inte en bekvämlighet.
Öppna inte en WSTP-lyssnare mot internet som genväg. Det stödda mönstret är SSH-start, som håller kärnkanalen inne i en autentiserad anslutning. Om nätverksteamet har godkänt en annan transport, använd den, men behandla en exponerad utvärderarport som en designändring, inte som ett felsökningssteg.
Kontrollera behörigheten, data och utdatastorleken först
Bekräfta med licensinnehavaren att servern får köra en kärna för den här användaren och att samtidiga sessioner är tillåtna. Fjärrberäkning licensieras ofta separat från skrivbordsgränssnittet, och en misslyckad start på grund av behörigheten ser ut som ett misslyckat SSH-kommando tills någon läser serverns meddelande.
Uppskatta sedan resultatets storlek. En kärna som returnerar ett uttryck på flera gigabyte skickar det via start- och kärnkanalen till gränssnittet, vilket kan blockera eller tömma minnet på den bärbara datorn. Håll tung aggregering på servern och returnera sammanfattningar, eller skriv stora resultat till en sökväg på servern och överför dem medvetet.
Anteckna sökvägen till den körbara filen, startargumenten och arbetskatalogen i anteckningsbokens uppsättningsanteckningar. Nästa användare återskapar då arrangemanget i stället för att upptäcka på nytt vilken av fem möjliga sökvägar servern använder.
Diagnostisera stegen i ordning
Fem steg måste lyckas, och varje steg har ett eget test. Börja vid den bärbara datorn och stanna vid det första felet i stället för att ändra flera inställningar samtidigt:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'En misslyckad TCP-kontroll pekar på routning, DNS eller VPN:ets tillåtna destinationer. En lyckad TCP-kontroll med misslyckad SSH-inloggning pekar på autentisering eller värdnyckelprincip. En inloggning som fungerar men inte hittar någon körbar fil pekar på kärninstallationen eller den sökväg som gränssnittet fick. En kärna som startar men aldrig ansluter pekar på startargumenten eller den lokala brandväggen.
Bevara det första meningsfulla felet och skicka serversidans steg till administratören som äger den maskinen. Att upprepat återskapa kärnposten döljer vilket steg som faktiskt misslyckades, och det kastar bort bevisen som administratören behöver.
Till slut vill du ha ett fönster du känner igen, en utvärderare du kan namnge och en överenskommen rutt för kod och filer. VPN:et är en komponent i den vägen, och ju snabbare arbetsflödet speglar det, desto mindre tid går åt till att återansluta en tunnel som aldrig var problemet.