Before you begin
You need a reachable SSH server, its address, port, username, and a password or private key. Shinphony is a client; it does not create or host a server.
Save a recognizable server
From the server list, choose Add server (+). Give it a useful name, such as Production or Staging. Enter its host, SSH port (usually 22), and username. Use your own server address; example.com is not a public demo server.
Choose how to authenticate
Use the password for your remote account (optionally saved behind Face ID), or configure an SSH key. A device-bound key is created on this iPhone or iPad and never leaves it; once you are signed in, Shinphony can add its public key to the server’s ~/.ssh/authorized_keys for you and shows the change first. A key passphrase unlocks the key itself; it is not the server login password. Do not paste the public key into a private-key field. Keep a backup of your private key in a safe place.
Verify the server identity
Open the saved server. When a new host-key prompt appears, compare its fingerprint with one obtained through a trusted channel, such as your server console or administrator. Do not accept an unexpected changed fingerprint just to dismiss the prompt.
Run a harmless first command
Once connected, try
pwdorwhoami. Set a workspace directory in the server profile if you want a starting point for Files and Git. Your shell directory and the file-browser directory can be different.
If something gets in the way
Can I run a local Linux shell on my iPhone?
This guide opens a shell on your remote server, not a local Linux environment on iOS. Commands and development tools run on the host you connect to. You do not need to jailbreak your phone to use an SSH client.
Will my command keep running after I lock my phone?
iOS may suspend the app and disconnect SSH. Use a remote tmux session for work that must survive a disconnect; a plain shell process is not guaranteed to survive. Reconnect and select the existing tmux session instead of starting the job again.
Connection refused or timed out
Check the host, SSH port, firewall, and network. A private LAN address requires access to that network, for example through your own VPN.
Permission denied
Confirm the remote username and its credential. If you use a key, its public half must be authorized on the server.
Connecting through a bastion
Configure a jump host in the server settings, then set up sign-in for the jump host and the destination separately; each can use its own device-bound key. Mosh has additional server and UDP requirements.