dbc/README.md

55 lines
2.5 KiB
Markdown

# Dropbear Connect
> A secure & efficient way to manage your remote connections with Dropbear!
DBC is a simple script to manage your SSH connections with [Dropbear](https://github.com/mkj/dropbear)
, which is an alternative to OpenSSH for remote connections.
## Introduction
Dropbear does not have built-in support for an `.ssh/config` file, and even with OpenSSH, storing all your remote infrastructure in plain-text might not be a good idea.
If you want to compile it yourself, you can set `#define DROPBEAR_USE_SSH_CONFIG 1` to enable support for the limited `.ssh/dropbear-config`. This is disabled by default & was only recently added.
Dropbear does not have support for encrypted SSH private keys, and even with OpenSSH, storing your private keys *(even if encrypted)* in the default `.ssh` directory might not be a good idea.
DBC is really simple & meant to run side-by-side with [pass](https://github.com/acidvegas/pass) securely store your `.ssh/config` & your SSH private keys.
You can securely manage & organize your SSH connections now. Your SSH private key is temporarily decrypted in RAM & used to connect. Once connected, the key is wiped.
## DBC Client Usage
1. Store your Dropbear configurations in your password store under the name `dropbear` in the following format:
```
NAME USER HOST PORT JUMP
```
JUMP is optional and can be used to specify a host that should use your jump host.
If JUMP is set to x, the script will use the jump host to connect to the end host.
There should only be one jump host in the config file and it should be named `jump`.
###### Example
```
jump acidvegas 68.192.37.5 5902
hatebox acidvegas 100.151.45.10 2023 x
aws admin 45.16.150.203 22
```
2. Store your Dropbear private key in your password store under the name `dropbear_key`.
3. Run the script with the name of the host you want to connect to:
```shell
./dbc hatebox
```
## Useful Tips
- Run the daemon with: `dropbear -p LOCAL_IP:RANDOM_PORT -w -t -T 1 -R -F` *(This will disable root logins & require both a password & key to connect)*
- Git usage: `git config core.sshCommand "dbclient -i ~/.ssh/key"`
- Generate private key: `dropbearkey -t ed25519 -f ~/.dropbear/key | grep "ssh-ed25519"`
- Get public key: `dropbearkey -y -f ~/.dropbear/key | head -n 2 | tail -n 1`
___
###### Mirrors for this repository: [acid.vegas](https://git.acid.vegas/dbc) • [SuperNETs](https://git.supernets.org/acidvegas/dbc) • [GitHub](https://github.com/acidvegas/dbc) • [GitLab](https://gitlab.com/acidvegas/dbc) • [Codeberg](https://codeberg.org/acidvegas/dbc)