Comment exécuter un noyau Wolfram distant depuis un ordinateur portable via un VPN
Un VPN ne transporte que la connexion. Planifiez le droit du noyau, le lancement SSH, l’exécutable distant et les chemins de fichiers avant la première évaluation.
Vous connectez le VPN, ouvrez le carnet et attendez que la cellule lourde s’exécute sur le serveur. En pratique, le tunnel ne transporte que des paquets. Il n’installe pas d’évaluateur, n’accorde pas de licence et ne choisit pas quelle machine exécute le code. Ce sont trois choses distinctes, et un flux de travail avec noyau distant a besoin des trois avant que le premier calcul soit fiable.
Le mythe : une connexion VPN est la configuration
Le VPN fournit un chemin réseau entre l’ordinateur portable et le serveur. C’est utile et souvent nécessaire, car le canal de lancement et la connexion du noyau doivent atteindre l’hôte distant. Il ne dit rien sur la présence d’un noyau Wolfram sur cet hôte, sur l’autorisation par la licence d’un second processus concurrent, ni sur la configuration de l’interface frontale pour l’utiliser.
Un ordinateur portable géré peut ne porter que l’interface frontale, le droit étant attaché au serveur. L’inverse arrive aussi : une licence de bureau sur l’ordinateur portable n’autorise pas un noyau sur une infrastructure partagée. Aucun des deux cas n’est résolu en reconnectant le tunnel.
Testez cette hypothèse tôt. Évaluez $MachineName dans un carnet neuf et comparez la réponse à l’hôte attendu. Si elle renvoie le nom de l’ordinateur portable, la cellule s’est exécutée localement, quel que soit l’état apparent du VPN.
Séparez l’interface frontale de l’évaluateur
L’interface frontale est la fenêtre : elle édite les cellules, affiche la sortie et enregistre le fichier du carnet. Le noyau est le processus qui évalue les expressions et conserve les définitions en mémoire. Fermer l’interface frontale ne déplace pas le noyau, et enregistrer le carnet ne sauvegarde pas l’état du noyau.
Une fois un noyau distant attaché, l’emplacement du fichier du carnet et le répertoire de travail du noyau sont deux choses différentes. Directory[] indique le répertoire de l’évaluateur, et c’est le chemin qui compte pour Import, Export et les noms de fichiers relatifs. Un jeu de données placé à côté du carnet sur l’ordinateur portable n’est pas visible pour un noyau exécuté sur une autre machine.
Décidez comment les données atteindront le serveur avant d’écrire l’analyse : un emplacement monté partagé, une étape de transfert approuvée ou une base de données accessible directement par le serveur. Ce choix affecte la reproductibilité, car un carnet qui dépend d’un chemin de l’ordinateur portable échouera la prochaine fois que quelqu’un d’autre l’exécutera.
Lancez le noyau par un canal approuvé
Le guide des noyaux distants de Wolfram décrit l’ajout d’une entrée de noyau, la sélection de la machine distante et le lancement via SSH. Le chemin de l’exécutable et les arguments de l’exemple relèvent du flux de travail de ce produit ; adaptez-les à l’hôte et à la version que l’administrateur nomme au lieu de les coller sans modification.
L’identité de l’hôte fait partie de la configuration. Vérifiez la clé d’hôte SSH via le processus de l’organisation, utilisez la méthode d’authentification émise et gardez les clés privées et les mots de passe hors des fichiers de carnet qui sont partagés ou validés dans un dépôt. Un carnet contenant une commande de lancement avec un mot de passe est une fuite d’identifiants, pas une commodité.
N’ouvrez pas un écouteur WSTP sur internet comme raccourci. Le modèle pris en charge est le lancement SSH, qui maintient le canal du noyau dans une connexion authentifiée. Si l’équipe réseau a approuvé un autre transport, utilisez-le, mais traitez un port d’évaluateur exposé comme un changement de conception, non comme une étape de dépannage.
Vérifiez d’abord le droit, les données et la taille de sortie
Confirmez auprès du titulaire de la licence que le serveur peut exécuter un noyau pour cet utilisateur et que les sessions concurrentes sont autorisées. Le calcul distant est souvent licencié séparément de l’interface frontale de bureau, et un lancement échoué à cause du droit ressemble à une commande SSH échouée jusqu’à ce que quelqu’un lise le message du serveur.
Estimez ensuite la taille du résultat. Un noyau qui renvoie une expression de plusieurs gigaoctets l’envoie par le canal de lancement et le canal du noyau jusqu’à l’interface frontale, ce qui peut bloquer ou épuiser la mémoire de l’ordinateur portable. Gardez l’agrégation lourde sur le serveur et renvoyez des résumés, ou écrivez les grands résultats dans un chemin du serveur et transférez-les délibérément.
Notez le chemin de l’exécutable, les arguments de lancement et le répertoire de travail dans les notes de configuration du carnet. L’utilisateur suivant reproduit alors l’agencement au lieu de redécouvrir lequel des cinq chemins possibles le serveur utilise.
Diagnostiquez les étapes dans l’ordre
Cinq étapes doivent réussir, et chacune a un test distinct. Partez de l’ordinateur portable et arrêtez-vous au premier échec au lieu de changer plusieurs réglages à la fois :
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'Une vérification TCP échouée pointe vers le routage, le DNS ou les destinations autorisées du VPN. Une vérification TCP réussie avec une connexion SSH échouée pointe vers l’authentification ou la politique de clé d’hôte. Une connexion qui fonctionne mais ne trouve aucun exécutable pointe vers l’installation du noyau ou le chemin fourni à l’interface frontale. Un noyau qui démarre mais ne se connecte jamais pointe vers les arguments de lancement ou le pare-feu local.
Conservez la première erreur significative et transmettez les étapes côté serveur à l’administrateur qui possède cette machine. Recréer l’entrée de noyau à répétition masque l’étape qui a réellement échoué et jette les preuves dont l’administrateur a besoin.
À la fin, vous voulez une fenêtre que vous reconnaissez, un évaluateur que vous pouvez nommer et un itinéraire convenu pour le code et les fichiers. Le VPN est une composante de ce chemin, et plus tôt le flux de travail le reflète, moins de temps passe à reconnecter un tunnel qui n’a jamais été le problème.