Remote SSH Development
Open and edit files on a remote server over SSH with a full terminal, file tree, and VS Code-style project support.
Desktop only. Remote SSH is not available in the web app.
Remote SSH lets you work on files hosted on a remote server as if they were local. Browse the remote filesystem, open and save text files, and run commands in a remote shell — all from within Omnilib.
Creating a remote project
-
Open the project launcher (
Cmd+Shift+O (Windows: Ctrl+Shift+O)). -
Click New Project.
-
In the source mode selector, choose SSH.
-
Enter the connection URI in the format:
ssh://user@host/path/to/project -
Click Connect.
Omnilib opens an SSH connection to the remote host, mounts the specified directory as the project root, and opens the file tree.
URI format
| Part | Example | Description |
|---|---|---|
user | alice | SSH username |
host | 192.168.1.10 | Hostname or IP address |
path | /home/alice/myproject | Absolute path on the remote |
Custom ports are supported: ssh://user@host:2222/path.
Authentication
Omnilib supports three authentication methods:
System SSH config
If your ~/.ssh/config defines a host entry for the target server, Omnilib uses it automatically — including ProxyJump, GSSAPI, IdentityFile, and other directives. No additional configuration is needed.
Private key with passphrase detection
Omnilib scans ~/.ssh/ for standard key files (id_rsa, id_ed25519, id_ecdsa, etc.) and presents them in the connection dialog. If a selected key is passphrase-protected, a prompt appears for the passphrase. The passphrase is used for the session and not stored.
SSH agent
If an SSH agent is running (e.g., ssh-agent or macOS Keychain integration), Omnilib delegates authentication to it automatically. This is the recommended approach for servers with passphrase-protected keys.
SSH connection dialog
The first time you connect to a host, the connection dialog lets you:
- Select the authentication method
- Choose an SSH key from
~/.ssh/ - Enter a passphrase if required
- Confirm the host fingerprint
For subsequent connections, stored settings are used and the dialog is skipped unless authentication fails.
File tree
The project sidebar shows the remote filesystem starting from your project path. Browse directories and click files to open them, exactly as with local projects.
File operations (rename, delete, new file, new folder) are performed over SSH. Large directory trees may take a moment to load on first open.
Editing files
Text files open in the appropriate editor (code, Markdown, LaTeX, etc.) and are read over SSH. Saving writes the file back to the remote server immediately. Unsaved changes are held locally in memory until you save.
Binary files (images, PDFs, etc.) can be opened in their respective viewers — the file is downloaded temporarily for display.
Terminal
Opening a terminal in a remote SSH project spawns a remote shell:
ssh -t user@host
The terminal connects directly to the remote host. All commands run on the server. You can run builds, start servers, use git, and perform any other shell operations.
Remote status badge
The project tab and window title show a remote indicator (a server icon) when a remote SSH project is active. If the connection drops, the badge turns red and Omnilib attempts to reconnect automatically.
Tips
Tip: Use
~/.ssh/configto setServerAliveInterval 30andServerAliveCountMax 3to prevent idle connection timeouts on long editing sessions.
Tip: For projects with many files, consider opening a subdirectory as the project root rather than the home directory. Shallower trees load faster.