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.