mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-08-28 12:56:28 -04:00
Former-commit-id: eb32adc94e5d746f42211e1a35cb507a9cfa2b6d Former-commit-id: 0fd9c2e89778c1a8c4947436dd0bb19f551ec696
135 lines
5.8 KiB
Plaintext
135 lines
5.8 KiB
Plaintext
.TH sshyp 1 "15 May 2023" "v1.5.0" "sshyp man page"
|
|
.SH NAME
|
|
\fBsshyp\fR - Simple, self-hosted, synchronized password management for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
|
.SH SYNOPSIS
|
|
Client Usage: sshyp [</entry name> [argument] [option]] | [argument]
|
|
|
|
Server Usage: sshyp <argument> [option] [device id]
|
|
.SH DESCRIPTION
|
|
sshyp is a lightweight password and note management program written in Python. sshyp is used via CLI and is self-hosted with a client-server model. sshyp expects that you have access to a personal server with a properly configured ssh server, ideally accepting remote connections.
|
|
.SH EXAMPLES (CLIENT)
|
|
Setting up sshyp for the first time:
|
|
sshyp init
|
|
|
|
Altering the existing sshyp configuration:
|
|
sshyp tweak
|
|
|
|
Viewing the entry database:
|
|
sshyp
|
|
|
|
Reading an existing entry saved as '~/.local/share/sshyp/development/github.gpg':
|
|
sshyp /development/github
|
|
|
|
Reading the same entry without hiding the password:
|
|
sshyp /development/github --show
|
|
|
|
Copying the password of an existing entry saved as '~/.local/share/sshyp/financial/bank.gpg':
|
|
sshyp /financial/bank copy -p
|
|
|
|
Editing the username of an existing entry saved as '~/.local/share/sshyp/game.gpg':
|
|
sshyp /game edit -u
|
|
|
|
Making a new entry saved as '~/.local/share/sshyp/school/university.gpg' using the built-in password generator:
|
|
sshyp /school/university gen
|
|
|
|
Creating a note-only entry saved as '~/.local/share/sshyp/notes/test note.gpg':
|
|
sshyp /notes/test\ note add -n
|
|
|
|
Manually syncing entries with the server:
|
|
sshyp sync
|
|
|
|
Removing an existing folder saved as '~/.local/share/sshyp/social':
|
|
sshyp /social/ shear
|
|
.SH EXAMPLES (SERVER)
|
|
Setting up the quick-unlock whitelist:
|
|
sshyp whitelist setup
|
|
|
|
Checking the quick-unlock whitelist status of all registered client devices:
|
|
sshyp whitelist list
|
|
|
|
Adding a device with the id 'laptop-im|lAoa;&;r&o:ez((g/Dz;EVb.nO_' to the quick-unlock whitelist:
|
|
sshyp whitelist add 'laptop-im|lAoa;&;r&o:ez((g/Dz;EVb.nO_'
|
|
|
|
Removing a device with the id 'laptop-im|lAoa;&;r&o:ez((g/Dz;EVb.nO_' from the quick-unlock whitelist:
|
|
sshyp whitelist del 'laptop-im|lAoa;&;r&o:ez((g/Dz;EVb.nO_'
|
|
.SH ARGUMENTS (CLIENT)
|
|
help/-h bring up the help menu
|
|
version/-v display sshyp version info
|
|
init set up sshyp
|
|
tweak change configuration options/manage extensions and updates
|
|
add add an entry
|
|
gen generate a new password
|
|
edit edit an existing entry
|
|
copy copy details of an entry to your clipboard
|
|
shear delete an existing entry
|
|
sync manually sync the entry directory via sshync
|
|
.SH OPTIONS (CLIENT)
|
|
add:
|
|
password/-p add a password entry
|
|
note/-n add a note entry
|
|
folder/-f add a new folder for entries
|
|
|
|
edit:
|
|
rename/relocate/-r rename or relocate an entry
|
|
username/-u change the username of an entry
|
|
password/-p change the password of an entry
|
|
note/-n change the note attached to an entry
|
|
url/-l change the url attached to an entry
|
|
|
|
copy:
|
|
username/-u copy the username of an entry to your clipboard
|
|
password/-p copy the password of an entry to your clipboard
|
|
url/-l copy the URL of an entry to your clipboard
|
|
note/-n copy the note of an entry to your clipboard
|
|
|
|
gen:
|
|
update/-u generate a password for an existing entry
|
|
.SH ARGUMENTS (SERVER)
|
|
help/-h bring up this menu
|
|
version/-v display sshyp version info
|
|
init set up sshyp
|
|
tweak change configuration options/manage extensions and updates
|
|
whitelist manage the quick-unlock whitelist
|
|
.SH OPTIONS (SERVER)
|
|
whitelist:
|
|
setup set up the quick-unlock whitelist
|
|
list/-l view all registered device ids and their quick-unlock whitelist status
|
|
add whitelist a device id for quick-unlock
|
|
del remove a device id from the quick-unlock whitelist
|
|
.SH SETUP
|
|
sshyp operates on a client-server model, and thus requires you to have access to your own server (whether it be a physical home server or a cloud rental) with remote access via SSH.
|
|
|
|
The sshyp package (on fully supported platforms) includes modes for operating on both client and server devices, so only one package is necessary.
|
|
|
|
Server setup:
|
|
Configure an OpenSSH server (if sshyp was installed from the Debian package, openssh-server and openssh-sftp-server must be installed manually - if sshyp was installed from the Fedora package, openssh-server must be installed manually)
|
|
Allow remote access to the SSH server w/public key authentication (disabling password-only authentication recommended)
|
|
Install sshyp
|
|
Run "sshyp init" and set the device type as server
|
|
Optionally, run "sshyp whitelist setup" and configure quick-unlock
|
|
Done!
|
|
|
|
Client setup:
|
|
Install sshyp
|
|
Run "sshyp init" and follow the prompts
|
|
Copy the generated public SSH key (located at ~/.ssh/sshyp.pub) to the server using preferred method (manually adding to authorized_keys, ssh-copy-id, etc.)
|
|
If you already have entries on the server, sync them using "sshyp sync"
|
|
Optionally, shell completions (both Bash and ZSH) can be enabled with your shell's respective method
|
|
Done!
|
|
|
|
Please note that the server setup intentionally does not allow the reading of entries (it does not allow adding a gpg decryption key). For security purposes, only clients can read entries.
|
|
.SH EXIT CODES
|
|
0 - no error
|
|
|
|
1 - configuration error
|
|
|
|
2 - data not found error
|
|
|
|
3 - data already exists error
|
|
|
|
4 - decryption/encryption error
|
|
|
|
5 - server connection error
|
|
.SH AUTHOR
|
|
Randall Winkhart (https://github.com/rwinkhart)
|