SSHive unter iOS ist durchgehend eine Swift-App. Das Terminal ist SwiftTerm, ein ausgereifter xterm-256color-Emulator in Swift: Er beherrscht VT100- und xterm-Escape-Sequenzen, 256 Farben, den alternativen Bildschirm, auf den less, vim und htop umschalten, Bracketed Paste und Mausereignisse. Die SSH-Schicht ist Citadel, eine SSH2-Implementierung in Swift, und jede Verbindung prüft den Host-Schlüssel des Servers gegen den beim ersten Mal festgehaltenen Fingerprint.
Zugangsdaten sind Schlüsselbund-Einträge mit dem Attribut WhenUnlockedThisDeviceOnly. Mit eingeschaltetem „Require Face ID / Touch ID“ sind sie zusätzlich an Ihre aktuelle biometrische Registrierung gebunden: Zum Lesen braucht es Face ID, Touch ID oder den Gerätecode, und SSHive nutzt diese eine Authentifizierung für die ganze Verbindung, statt zweimal zu fragen. Ein verschlüsselter privater Schlüssel wird auf dem Gerät mit der Ableitung des OpenSSH-Schlüsselformats entschlüsselt, bcrypt-pbkdf.
Das Netz eines Telefons ist kein Schreibtisch. iOS hält eine App im Hintergrund an, eine länger verlassene Sitzung bricht also ab; ein Keep-alive, standardmäßig 30 Sekunden, verhindert, dass eine Firewall oder ein NAT, das untätige Verbindungen vergisst, eine noch genutzte Sitzung kappt. Sind die Server nur hinter einem Gateway erreichbar, wird ein VPN-Profil, das am SSH-Profil hängt, vor der Verbindung aufgebaut.
Auf dem iPhone macht erst die Tastenleiste eine Shell benutzbar: Esc, Tab, Ctrl und Alt sind einen Tipp entfernt, sodass Ctrl+C einen außer Kontrolle geratenen Befehl stoppt und Ctrl+R den von gestern wiederfindet. Auf dem iPad behält die Seitenleiste Ihre offenen Sitzungen im Blick, und eine Hardwaretastatur macht dieselbe App zu einem guten Ort für längere Arbeit.