Fiche de connexion

Choisissez SSH ou l’interface graphique dans le navigateur selon la tâche

Privilégiez SSH pour les builds en ligne de commande, les scripts d’automatisation et les tâches longues. Pour utiliser Xcode, vérifier un affichage graphique ou manipuler une application de bureau, ouvrez une session distante dans le navigateur depuis la fiche de l’appareil dans la console.

DplyMini fournit des Mac dans le cloud sur des nœuds physiques dédiés. Chaque commande correspond à un nœud physique et l’appareil n’est pas virtualisé. Avant toute connexion, vérifiez l’adresse de l’hôte, le nom d’utilisateur et son empreinte, puis transférez votre projet ou lancez le build.

SSH Scripts, builds et tâches en arrière-plan
Interface dans le navigateur Utilisation de Xcode et du bureau graphique
5 nœuds Informations de connexion fournies avec la commande
FICHE DE CONNEXION DE L’APPAREIL RUN-SSH-GUI
Informations de connexion fournies 1 commande = 1 nœud physique dédié
Canal en ligne de commande
Authentification par clé publique SSH
Canal graphique
Accès depuis la fiche de l’appareil dans la console
Première vérification
Adresse de l’hôte, nom d’utilisateur, empreinte
Tâches recommandées
xcodebuild, fastlane, CI Runner
Vérifier S’authentifier Se connecter Exécuter Quitter
Vue d’ensemble des modes de connexion

Déterminez d’abord si la tâche nécessite réellement une interface graphique

Le mode de connexion ne modifie pas la configuration de l’appareil, mais influence l’efficacité, la sensibilité du réseau et la reprise de session. Gardez les tâches continues en arrière-plan et réservez les sessions graphiques aux étapes qui nécessitent de voir le bureau.

Mode par défaut

SSH : idéal pour les tâches répétables et traçables

L’installation des dépendances, la récupération du code, la compilation, les tests, la consultation des journaux et la vérification des fichiers sont parfaitement adaptés à SSH. En cas de brève coupure réseau, tmux, screen ou CI Runner permettent de poursuivre la tâche sur l’appareil.

  • Adapté à xcodebuild, fastlane et aux pipelines scriptés
  • Les commandes, sorties et codes d’erreur se conservent facilement dans les journaux
  • La plupart des opérations ne nécessitent pas de transmettre en continu l’image du bureau
À la demande

Interface graphique dans le navigateur : pour les étapes qui nécessitent de voir le bureau

Pour ouvrir Xcode, vérifier l’affichage d’un simulateur, ajuster un outil graphique ou contrôler l’état d’une application de bureau, lancez une session distante depuis la fiche de l’appareil dans la console. Un build continu ne doit pas dépendre d’un onglet de navigateur constamment ouvert.

  • Adaptée aux interactions brèves, à la vérification de configuration et aux applications graphiques
  • L’expérience dépend davantage de la stabilité du réseau local et de la latence aller-retour
  • Après l’opération, verrouillez le bureau et quittez activement la session

En bref :Si une étape peut être exprimée par une commande et doit être répétée, privilégiez SSH ; utilisez l’accès distant dans le navigateur uniquement lorsque vous devez observer ou manipuler l’interface graphique de macOS.

Préparer SSH

Avant la première connexion, vérifiez soigneusement ces quatre informations d’identité

Ne testez pas immédiatement plusieurs noms d’utilisateur et n’acceptez pas à répétition des empreintes inconnues après avoir reçu l’adresse. Vérifiez d’abord les informations fournies dans la fiche de l’appareil, puis connectez-vous depuis votre terminal local.

  1. 01

    Créer une clé SSH personnelle

    Chaque opérateur utilise sa propre clé ; ne copiez pas de clé privée entre membres de l’équipe. Utilisez de préférence un type de clé moderne et protégez la clé privée par une phrase secrète locale.

    ssh-keygen -t ed25519 -C "deploymini-access"
  2. 02

    Transmettre uniquement la clé publique

    La clé publique se trouve généralement dans ~/.ssh/id_ed25519.pub. Ne téléversez pas la clé privée, ne la collez pas dans des conversations et ne la placez ni dans un dépôt de code ni en pièce jointe d’un ticket.

    cat ~/.ssh/id_ed25519.pub
  3. 03

    Vérifier l’adresse de l’hôte et le nom d’utilisateur

    L’adresse, le port et le nom d’utilisateur indiqués dans la fiche de l’appareil de la commande en cours font foi. N’utilisez pas la commande d’une autre commande et ne déduisez pas l’adresse du nom du nœud.

    ssh -p <port> <user>@<host>
  4. 04

    Vérifier l’empreinte de l’hôte lors de la première connexion

    Lorsque le terminal demande pour la première fois si vous faites confiance à l’hôte, comparez soigneusement l’empreinte affichée avec celle fournie dans la fiche de l’appareil. En cas de divergence, interrompez la connexion et ouvrez un ticket ; ne saisissez pas directement yes.

    SHA256:<fingerprint-from-device-details>

Principe de rotation des clés

Supprimez immédiatement la clé publique correspondante lorsqu’un membre quitte le projet, qu’un appareil est transféré ou qu’une collaboration temporaire prend fin. Une clé partagée à long terme ne doit pas couvrir toute l’équipe.

Principe de configuration locale

Vous pouvez définir un alias pour l’appareil dans votre configuration SSH locale, mais l’hôte, le port et le nom d’utilisateur doivent toujours correspondre aux informations actuellement fournies dans la console.

Principe de traitement des anomalies

Si une entrée d’hôte connu change soudainement, vérifiez d’abord si la commande ou l’adresse a été modifiée. Tant que ce point n’est pas confirmé, ne supprimez pas l’ancienne entrée et n’acceptez pas directement la nouvelle empreinte.

Accès distant dans le navigateur

Accédez-y depuis la fiche de l’appareil et n’enregistrez pas le lien de session

  1. Ouvrir la console Accédez à la fiche de l’appareil correspondant à la commande en cours, puis vérifiez le nœud, le modèle et l’état de la connexion.
  2. Lancer une session dans le navigateur Utilisez l’action d’accès distant dans la fiche de l’appareil. N’ajoutez pas l’adresse de session temporaire à vos favoris et ne la transmettez à personne.
  3. Régler les paramètres d’affichage La barre d’outils permet de régler le zoom, le plein écran et le presse-papiers. Une haute résolution augmente le volume d’images transmis ; si la liaison est instable, réduisez d’abord la taille d’affichage.
  4. Terminer et verrouiller l’appareil Après l’opération, enregistrez votre travail, quittez les applications, verrouillez le bureau et fermez la session dans le navigateur.

Contrôle du presse-papiers

Le presse-papiers convient aux textes courts et aux commandes ponctuelles, mais pas au transfert de clés privées, de justificatifs de paiement complets ou de configurations sensibles volumineuses. Après la copie, effacez le contenu des presse-papiers local et distant.

Résolution et plein écran

Commencez par utiliser un niveau de zoom adapté à la fenêtre. Passez en plein écran pour les manipulations précises ; si la saisie devient lente, quittez le plein écran, réduisez la résolution, puis réévaluez la liaison.

Démonstration de connexion et de build

Décomposez la connexion, le build et la livraison en sorties vérifiables

Voici un exemple de session SSH classique. L’adresse, le nom d’utilisateur, le chemin du projet, le Scheme et la configuration d’exportation dépendent de votre commande et de votre projet ; ne copiez pas directement les paramètres de l’exemple.

build-session — ssh
SESSION ACTIVE
$ ssh -p <port> <user>@<host>
The authenticity of host cannot be established.
ED25519 key fingerprint is SHA256:<fingerprint>
Are you sure you want to continue connecting? yes

Connected to dedicated physical Mac mini
$ sw_vers
ProductName:            macOS
ProductVersion:         <installed-version>

$ cd ~/work/ExampleApp
$ xcodebuild \
  -workspace ExampleApp.xcworkspace \
  -scheme ExampleApp \
  -configuration Release \
  build

** BUILD SUCCEEDED **

$ bundle exec fastlane ios build
[fastlane] Resolving project configuration
[fastlane] Running archive workflow
[fastlane] Build artifacts ready for verification

$ shasum -a 256 ./output/ExampleApp.ipa
<checksum>  ./output/ExampleApp.ipa
Point de contrôle A

Consigner l’environnement avant le build

Conservez les versions de macOS, Xcode, Ruby, des outils de gestion des dépendances et du commit du projet. En cas d’écart, comparez d’abord les relevés d’environnement au lieu de réinstaller immédiatement toutes les dépendances.

Point de contrôle B

Vérifier les artefacts après le build

Consignez le chemin de sortie, la taille du fichier, la somme de contrôle et les journaux de build importants. Après le téléchargement, recalculez la somme de contrôle côté réception pour confirmer que le transfert n’a rien modifié.

Diagnostic réseau

Vérifiez chaque couche dans l’ordre, sans modifier plusieurs variables à la fois

Ne vérifiez qu’une couche à la fois et notez le résultat de chaque étape. Vous pourrez ainsi déterminer si le problème vient de la résolution locale, du réseau sortant, des règles d’accès, des informations d’authentification ou du service sur l’appareil.

  1. 01

    DNS et adresse

    Vérifiez que la commande de connexion utilise l’adresse de l’hôte actuellement indiquée dans la fiche de l’appareil. Si vous utilisez un nom d’hôte, vérifiez d’abord sa résolution vers l’adresse attendue et excluez toute substitution locale dans hosts.

    nslookup <host>
  2. 02

    Réseau sortant local

    Vérifiez que le réseau actuel autorise les connexions externes. Un réseau d’entreprise, un Wi‑Fi invité, un proxy ou un VPN peut modifier le chemin sortant ; utilisez un réseau réputé fonctionnel pour comparer.

    traceroute <host>
  3. 03

    Pare-feu et port cible

    Vérifiez le port fourni avec la commande et contrôlez que les logiciels de sécurité locaux et les règles du réseau de l’organisation ne bloquent pas la connexion. Tous les appareils n’utilisent pas nécessairement le port SSH par défaut.

    nc -vz <host> <port>
  4. 04

    Nom d’utilisateur et identifiants

    Distinguez l’impossibilité d’atteindre le port de l’échec d’authentification. En cas d’échec d’authentification, vérifiez le nom d’utilisateur, le chemin de la clé publique, les permissions de la clé et ssh-agent ; n’essayez pas de diagnostiquer le problème en testant successivement différents mots de passe.

    ssh -vv -i ~/.ssh/id_ed25519 <user>@<host>
  5. 05

    État du service distant

    Si le port est accessible mais que la session s’interrompt immédiatement, consignez le message d’erreur complet précédant la déconnexion. Si la session dans le navigateur rencontre une anomalie, vérifiez aussi si SSH reste accessible afin de distinguer le canal graphique de l’état général de l’appareil.

    Connection reset | timeout | permission denied
  6. 06

    État du nœud et de la commande

    Pour finir, revenez dans la console et vérifiez la commande, le nœud et les informations de l’appareil. Tous les nœuds fonctionnent normalement 365 jours par an ; la disponibilité de la connexion est indiquée en temps réel dans la console.

    Vérifier l’état dans la console

Ne faites pas de ping votre seul critère.Certains réseaux limitent ICMP, alors que le port cible SSH peut rester accessible. Pour diagnostiquer, consignez à la fois le résultat de la résolution, le test du port cible et la sortie détaillée de SSH.

Sécurité des sessions

Rendez chaque accès attribuable à un opérateur précis

Un nœud physique dédié réduit la concurrence sur les ressources, mais ne remplace pas les contrôles d’accès internes de l’équipe. Les clés, identifiants temporaires, données de projet et bureaux distants doivent toujours être gérés selon le principe du moindre privilège.

Référentiel de contrôle des accès

Commencez par une clé personnelle et terminez par une révocation proactive.

  • Une clé par personne :Ne laissez pas plusieurs membres partager durablement la même clé privée.
  • Verrouillez l’écran en partant :Verrouillez le bureau lorsque la session du navigateur n’est pas utilisée et quittez-la activement une fois le travail terminé.
  • Limitez les comptes partagés :N’accordez l’accès qu’aux membres qui en ont besoin pour la tâche en cours.
  • Révoquez les identifiants temporaires :Supprimez les clés publiques temporaires, les jetons et les variables d’environnement à la fin de la tâche.
  • Désensibilisez les journaux avant envoi :Supprimez les clés, jetons, informations personnelles et justificatifs de paiement complets avant l’envoi.
Ne jamais envoyer

Clé privée et jeton d’accès actif

L’assistance n’a pas besoin de votre clé privée pour diagnostiquer un problème de connexion. N’envoyez aucun contenu de clé privée par e-mail, dans une conversation, un dépôt de code ou une pièce jointe de ticket.

À fournir de préférence

Message d’erreur original et sortie de débogage désensibilisée

Conservez le type d’erreur, la structure des paramètres de commande, l’heure et la version du client ; remplacez l’adresse de l’hôte, le nom d’utilisateur, le nom du projet et les valeurs sensibles par des espaces réservés explicites.

Conseils de performance

Pour l’interaction, privilégiez la stabilité du réseau ; pour les tâches continues, l’exécution sur l’appareil

La fluidité de l’interface graphique dans le navigateur dépend principalement de la latence aller-retour, de la gigue et de la bande passante disponible. La vitesse de compilation dépend davantage du projet, du cache et de la configuration de l’appareil : évaluez ces deux aspects séparément.

Privilégiez une liaison stable pour les interactions avec le bureau

Choisissez le nœud offrant le meilleur parcours complet vers votre équipe, vos dépôts de code et votre stockage d’artefacts. Une latence minimale ponctuelle ne garantit pas la stabilité de toute la session ; la gigue et la perte de paquets influencent également la saisie.

Transférer les fichiers volumineux par lots et les vérifier

Transférez les ressources, modèles et artefacts de build par lots. Avant et après le transfert, notez le nombre de fichiers, la taille totale et les sommes de contrôle ; en cas d’échec, ne retransférez que les éléments différents.

Confier les builds continus aux tâches en arrière-plan

Les compilations, tests et tâches d’encodage longs doivent s’exécuter en arrière-plan sur l’appareil, avec les journaux écrits dans un fichier. La fermeture du navigateur ou une fluctuation du réseau local ne doit pas interrompre la tâche.

Opération courte Interface graphique dans le navigateur
Opération répétable Script SSH
Exécution continue Tâche en arrière-plan ou CI Runner
Transfert de fichiers volumineux Traiter par lots et vérifier
FICHE DE TRANSMISSION À L’ASSISTANCE 6 CHAMPS REQUIS
Transmission au support

Fournissez des informations directement exploitables pour le diagnostic

Si vous ne parvenez pas à localiser le problème de connexion en suivant les étapes ci-dessus, ouvrez un ticket pour la commande concernée depuis la console. Plus les informations sont complètes, plus l’assistance pourra reproduire le problème et identifier la couche concernée.

Numéro de commande Pour retrouver l’appareil et les informations de livraison
Nœud Indiquez le nom du nœud affiché dans la console
Heure du problème Incluez le fuseau horaire et précisez si le problème persiste
Client Système, terminal ou navigateur et version
Étapes de reproduction Séquence d’actions entre l’état normal et l’erreur
Journaux désensibilisés Conservez le message d’erreur original et supprimez les données sensibles

Pour les problèmes d’exécution, utilisez le ticket de la commande

Si l’appareil est inaccessible, que la session s’interrompt à répétition ou que les informations de livraison sont anormales, ouvrez un ticket depuis la commande correspondante dans la console. Évitez de disperser les informations de commande dans plusieurs fils d’e-mails.

Pour les questions générales, envoyez un e-mail

Si vous n’avez pas encore commandé ou souhaitez confirmer le mode de connexion, indiquez la tâche prévue, le nœud cible, l’environnement client et la durée de location envisagée, puis écrivez à support@deploymini.com.

Prêt à utiliser votre premier Mac mini physique dédié

Choisissez d’abord une configuration et l’un des cinq nœuds, puis vérifiez les informations de connexion dans la console après la commande. Lors de la première connexion, vérifiez l’adresse de l’hôte, le nom d’utilisateur et l’empreinte dans l’ordre indiqué sur cette page.