SSH, exec, copy & forward

Every pod accepts SSH — no sshd needed in your image. svl routes the connection through its control plane to the pod, and checks your key against the members of the pod's account.

Shell and commands

svl ssh p-7k2xq9                      # interactive shell (bash if present, else sh)
svl ssh p-7k2xq9 -- uname -a          # one command
svl exec p-7k2xq9 -- sh -c 'exit 3'   # exact argv; serverless.au exits with 3
svl exec db -- psql -U postgres       # interactive programs get a TTY at a terminal
svl exec db -- pg_dump app > app.sql  # piped or redirected: no TTY, output stays byte-clean

svl exec allocates a TTY when your input and output are both a terminal. Use -t to force one or -T to turn it off; -i is accepted for Docker habits.

svl login creates a key just for serverless.au (~/.config/svl/id_ed25519) and registers it, so this works straight away. Add other keys with svl keys add.

Copy files

svl cp ./model.bin p-7k2xq9:/workspace/
svl cp -r p-7k2xq9:/workspace/out ./out

Forward a port

svl forward p-7k2xq9 8888

Plain ssh and VS Code

svl ssh-config >> ~/.ssh/config
ssh p-7k2xq9

The block routes any p-* host through serverless.au, so VS Code's Remote - SSH can open a pod directly: connect to host p-7k2xq9.

Teams

Anyone who is a member of the pod's account can SSH in with their own key. When someone leaves the account, their access is removed within seconds.