mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-08-28 04:46:34 -04:00
Former-commit-id: 25559878dca6f91567805473078398b7b6728126 Former-commit-id: 1f88fe4849e4f0d26d32fa69a772ca9863d53c42
127 lines
5.6 KiB
Plaintext
127 lines
5.6 KiB
Plaintext
.TH sshyp 1 "04 March 2023" "v1.4.0" "sshyp man page"
|
|
.SH NAME
|
|
sshyp \- A very simple self-hosted, synchronized password manager for UNIX(-like) systems. Alternative to (and compatible with) pass/password-store.
|
|
.SH SYNOPSIS
|
|
Client Usage: sshyp [</entry name> [option] [flag]] [option]
|
|
|
|
Server Usage: sshyp <option> [flag] [<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 or altering its configuration (also recommended after major updates):
|
|
sshyp tweak
|
|
|
|
Viewing the entry database:
|
|
sshyp
|
|
|
|
Reading an existing entry saved as ~/.local/share/sshyp/development/github.gpg:
|
|
sshyp /development/github
|
|
|
|
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 OPTIONS (CLIENT)
|
|
help/-h bring up the help menu
|
|
version/-v display sshyp version info
|
|
tweak configure sshyp
|
|
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 FLAGS (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 OPTIONS (SERVER)
|
|
help/-h bring up this menu
|
|
version/-v display sshyp version info
|
|
tweak configure sshyp
|
|
whitelist manage the quick-unlock whitelist
|
|
.SH FLAGS (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 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 tweak" and set the device type as server
|
|
Optionally, run "sshyp whitelist setup" and configure quick-unlock
|
|
Done!
|
|
|
|
Client setup:
|
|
Install sshyp
|
|
Run "sshyp tweak" 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, Bash completions can be enabled by installing your distribution's "bash-completion" package and restarting your terminal
|
|
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)
|