Comment SSH sur iPhone fonctionne reellement
SSHive sur iOS est une vraie app SwiftUI, pas une web view, pas un wrapper JavaScript cross-platform. L'emulation terminal vient de SwiftTerm, une implementation xterm-256color open source mature en Swift, qui gère les sequences d'echappement VT100/xterm, les couleurs ANSI, les buffers alternate-screen (pour `less`, `vim`, `htop`), le bracketed paste et le mouse reporting. Le transport SSH tourne sur Citadel, une implementation SSH2 moderne en Swift, avec vérification known-hosts.
Les clés sont dans le Trousseau iOS avec `SecAccessControl` règle sur `BiometryCurrentSet`, Face ID ou Touch ID requis pour les lire, et invalidation si vous changez votre enrolment biometrique. La passphrase SSH chiffrée est wrappee avec bcrypt-pbkdf (le KDF standard OpenSSH) et dechiffree sur l'appareil dans un buffer mémoire transient zeroize après usage. Votre matériel de clé ne touche jamais un serveur que nous controlons, et il reste hors iCloud sauf si vous activez explicitement la sync opt-in chiffrée de bout en bout.
Le modèle réseau gère les realites iOS : limites de background, changements réseau Wi-Fi/5G, restrictions App Refresh. Les sessions se reconnectent automatiquement au retour du réseau, le keep-alive SSH configurable (`ServerAliveInterval`) evite les deconnexions sur inactivite, et le client VPN NetworkExtension intégré couvre les flottes accessibles uniquement derrière un VPN.
Sur iPad avec Magic Keyboard, l'experience est proche d'un laptop, clavier physique avec Cmd, Ctrl, Esc qui marchent, panneaux terminal redimensionnables via NavigationSplitView, et Stage Manager garde SSHive a côté d'un navigateur ou de Notes. Sur iPhone, la barre de modifiers a l'écran expose les touches qu'un écran tactile ne peut pas envoyer (Esc, Tab, Ctrl, Alt, fleches, pipe, slash, tilde), `Ctrl+C`, `Ctrl+R`, naviguer dans `less`, scroller des logs, tout marche sans clavier externe.