Files over SFTP
Every machine you own, plus your shared drive, as one SFTP server. Browse it from FileZilla or Cyberduck, or mount it with sshfs and edit files on any machine in your own editor.
Connect
Use the same key and the same address as the dashboard; only the protocol changes:
$ sftp dashboard@ironwire.sh Connected to ironwire.sh. sftp> ls -l drwxr-xr-x 0 0 0 0 Oct 5 09:12 api drwxr-xr-x 0 0 0 0 Oct 5 15:20 shared drive drwxr-xr-x 0 0 0 0 Oct 1 11:03 web
The top level holds one folder per running machine and one for your shared drive. It's the same set the dashboard's file manager shows. Machines you create appear on the next listing; machines you delete disappear.
Inside a machine
A machine's folder is its whole filesystem: /web is the machine's /, so its home directory is /web/root. Read, write, create, rename and delete as you would on the machine itself. You act as the machine's own login user, the same reach as ssh web@ironwire.sh.
The shared drive folder is the drive's root. Its name has a space, so quote it in a shell: cd "shared drive". The drive takes no symlinks.
Mount it with sshfs
Mount everything as a local folder and open any machine's files in your editor:
$ mkdir -p ~/ironwire $ sshfs dashboard@ironwire.sh:/ ~/ironwire -o reconnect,ServerAliveInterval=15 $ code ~/ironwire/web/root/app
Saving a file writes it straight to that machine. Unmount with fusermount -u ~/ironwire (Linux) or umount ~/ironwire (macOS).
-o reconnect. When the platform is updated an open SFTP session ends, and reconnect lets sshfs pick the mount back up by itself. ServerAliveInterval keeps a quiet mount from being closed as idle.GUI clients
In FileZilla, Cyberduck, Transmit or your file browser, add an SFTP server: host ironwire.sh, port 22, user dashboard, and authenticate with the SSH key you use for the dashboard. Drag files in and out as usual.
Stopped machines
Only running machines are listed. A stopped, paused or booting machine isn't in the tree, and browsing never starts one. If you name its path anyway (cd /old), you get the reason, for example old is stopped — start it first. Start it with ssh dashboard@ironwire.sh start old and it appears on the next listing.
Moving between machines
Moving or renaming a file or folder from one machine to another, or into or out of the shared drive, works like any move:
sftp
$ sftp dashboard@ironwire.sh sftp> rename /web/root/dataset /api/root/dataset
On an sshfs mount it's a plain mv ~/ironwire/web/root/dataset ~/ironwire/api/root/, or a drag in a GUI client.
dashboard
Press f for the file manager, open the source machine in one pane and the destination in the other, select the folder and press m to move it.
Over SFTP the move is a copy followed by a delete, and it is all or nothing:
- The original is removed only after the whole copy has landed.
- If the copy fails (for example, the destination runs out of room), the partial copy is removed and the original is untouched.
- If there isn't enough room, the move is refused up front with
not enough space on apiand nothing is written. - A move never overwrites: if the destination already exists you get
… already exists.
A large move takes as long as the copy does, and some clients look busy or report a timeout while it runs.
One machine at a time
To reach a single machine, use its name as the user. You land in that machine's own SFTP server, as with ssh web@ironwire.sh:
$ sftp web@ironwire.sh
Who can connect
Only your own keys. You always see your own account's machines, never anyone else's. A key that belongs to a machine (one an agent uses from inside a VM) can't open the whole-account tree; it can reach a sibling only where fleet access allows, exactly like ssh. A key that isn't enrolled is told to sign up first with ssh dashboard@ironwire.sh; there is no signup over SFTP. Outposts don't take SFTP.