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
79 lines
1.8 KiB
Markdown
79 lines
1.8 KiB
Markdown
# 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:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
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:
|
|
|
|
```powershell
|
|
irm https://git.palav.dev/Palav/dosh/raw/branch/main/install.ps1 | iex
|
|
```
|
|
|
|
## Commands
|
|
|
|
```sh
|
|
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:
|
|
|
|
```sh
|
|
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
|
|
|
|
```text
|
|
~/.config/dosh/client.toml
|
|
~/.config/dosh/hosts.toml
|
|
~/.config/dosh/server.toml
|
|
```
|
|
|
|
Common client settings:
|
|
|
|
```toml
|
|
default_session = "new"
|
|
auth_preference = "native,ssh"
|
|
predict = true
|
|
cache_attach_tickets = true
|
|
disconnect_status = true
|
|
```
|