Files
dosh/README.md
T
DuProcess 6adcdc01e8
ci / test (push) Has been cancelled
ci / fuzz-smoke (push) Has been cancelled
ci / windows-client (push) Has been cancelled
ci / package-release (linux-x86_64, ubuntu-latest) (push) Has been cancelled
ci / package-release (macos-aarch64, macos-14) (push) Has been cancelled
ci / package-release (macos-x86_64, macos-13) (push) Has been cancelled
ci / package-release (windows-x86_64, windows-latest) (push) Has been cancelled
ci / remote-bench (push) Has been cancelled
Tighten README
2026-06-20 19:43:54 -04:00

1.8 KiB

Dosh

Dosh is an encrypted remote terminal for fast reconnecting shells.

It runs a dosh-server on the remote machine and a dosh client locally. The first setup can use SSH. After that, Dosh can attach over encrypted UDP with cached credentials, keep terminal sessions alive, reconnect after network changes, and forward TCP ports.

Support

  • Client: macOS, Linux, Windows
  • Server: Unix-like systems with PTYs
  • Windows: client only
  • UDP port: one configured server port, default 50000

Dosh does not replace SCP, SFTP, X11 forwarding, or a Windows server.

Install

Server and client on Unix/macOS:

curl -fsSL https://git.palav.dev/Palav/dosh/raw/branch/main/install.sh | sh -s -- both --repo https://git.palav.dev/Palav/dosh.git --port 50000

Client only on Unix/macOS:

curl -fsSL https://git.palav.dev/Palav/dosh/raw/branch/main/install.sh | sh -s -- client --repo https://git.palav.dev/Palav/dosh.git

Windows client:

irm https://git.palav.dev/Palav/dosh/raw/branch/main/install.ps1 | iex

Commands

dosh setup HOST          # import SSH config and trust the Dosh host key
dosh HOST                # connect
dosh HOST COMMAND        # connect and run a command
dosh update              # update Dosh
dosh doctor HOST         # check config and connectivity
dosh recover HOST        # clear cached attach state and re-check

Examples:

dosh palav
dosh palav tm
dosh forward palav -L 8080:127.0.0.1:80
dosh forward palav -D 1080
dosh forward palav -R 2222:127.0.0.1:22

Agent forwarding is opt-in with -A and must be enabled on the server.

Config

~/.config/dosh/client.toml
~/.config/dosh/hosts.toml
~/.config/dosh/server.toml

Common client settings:

default_session = "new"
auth_preference = "native,ssh"
predict = true
cache_attach_tickets = true
disconnect_status = true