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 gere 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 libssh2 avec patches custom pour le chainage jump-host et la verification known-hosts.
Les cles sont dans le Trousseau iOS avec `SecAccessControl` regle sur `BiometryCurrentSet`, Face ID ou Touch ID requis pour les lire, et invalidation si vous changez votre enrolment biometrique. La passphrase SSH chiffree est wrappee avec bcrypt-pbkdf (le KDF standard OpenSSH) et dechiffree sur l'appareil dans un buffer memoire transient zeroize apres usage. Aucun element de votre cle ne quitte jamais l'appareil, ne touche jamais iCloud, ne touche jamais un serveur que nous controlons.
Le modele reseau gere les realites iOS : limites de background, changements reseau Wi-Fi/5G, restrictions App Refresh. Les sessions se reconnectent automatiquement au retour du reseau, le keep-alive SSH configurable (`ServerAliveInterval`) evite les deconnexions sur inactivite, et le client VPN NetworkExtension integre peut s'auto-connecter avant l'ouverture d'une session SSH pour les flottes protegees.
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 cote d'un navigateur ou de Notes. Sur iPhone, la barre de modifiers a l'ecran expose les touches qu'un ecran 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.