gopass

command module
v1.15.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2024 License: MIT Imports: 33 Imported by: 0

README

gopass Gopher by Vincent Leinweber, remixed from the Renée French original Gopher

Overview

OpenSSF Scorecard Build Status Go Report Card Packaging status MIT License Github All Releases Gopass Slack

The slightly more awesome standard UNIX password manager for teams.

Manage your credentials with ease. In a globally distributed team, on multiple devices or fully offline on an air gapped machine.

  • Works everywhere - The same user experience on Linux, MacOS, *BSD or Windows
  • Built for teams - Built from our experience working in distributed development teams
  • Full autonomy - No network connectivity required, unless you want it

How Does It Work?

By default your credentials are encrypted with GPG and versioned in git. This can be customized easily. The primary interface is the command line, making it an excellent choice for CLI fans, CI/CD systems or anything you can hook it up with. Gopass can also integrate with your browser so you can largely avoid the command line - if you want.

Installation

Necessary prerequisites for running gopass

gopass can operate without any dependencies but most users will use it with gpg and git. An external editor is required to use gopass edit.

Installation through package managers

Homebrew (Linux/MacOS)

homebrew version

brew install gopass
MacPorts (macOS)

macports version

sudo port install gopass
Debian (Ubuntu, Debian, Raspbian, ...)

Warning: Do not install the gopass package for the official repositories. That is a completely different project that has no relation to us.

curl https://packages.gopass.pw/repos/gopass/gopass-archive-keyring.gpg | sudo tee /usr/share/keyrings/gopass-archive-keyring.gpg >/dev/null
cat << EOF | sudo tee /etc/apt/sources.list.d/gopass.sources
Types: deb
URIs: https://packages.gopass.pw/repos/gopass
Suites: stable
Architectures: all amd64 arm64 armhf
Components: main
Signed-By: /usr/share/keyrings/gopass-archive-keyring.gpg
EOF
sudo apt update
sudo apt install gopass gopass-archive-keyring
Fedora / RedHat / CentOS

Fedora version

dnf install gopass

Note: You might need to run dnf copr enable daftaupe/gopass first.

Arch Linux

Arch version

pacman -S gopass
Windows

Scoop version

# WinGet
winget install Git.Git
winget install GnuPG.Gpg4win
winget install gopass.gopass
# Chocolatey
choco install gpg4win
choco install gopass
# Alternatively
scoop install gopass
FreeBSD / OpenBSD
cd /usr/ports/security/gopass
make install
Alpine Linux
apk add gopass

Other installation options

Please see docs/setup.md for other options.

From Source
go install github.com/gopasspw/gopass@latest

Note: latest is not a stable release. We recommend to only use released versions.

Manual download

Download the latest release and add the binary to your PATH.

Quick start guide

Initialize a new gopass configuration:

gopass setup

   __     _    _ _      _ _   ___   ___
 /'_ '\ /'_'\ ( '_'\  /'_' )/',__)/',__)
( (_) |( (_) )| (_) )( (_| |\__, \\__, \
'\__  |'\___/'| ,__/''\__,_)(____/(____/
( )_) |       | |
 \___/'       (_)

🌟 Welcome to gopass!
🌟 Initializing a new password store ...
🌟 Configuring your password store ...
🎮 Please select a private key for encrypting secrets:
[0] gpg - 0xFEEDBEEF - John Doe <john.doe@example.org>
Please enter the number of a key (0-12, [q]uit) (q to abort) [0]: 0
❓ Do you want to add a git remote? [y/N/q]: y
Configuring the git remote ...
Please enter the git remote for your shared store []: git@gitlab.example.org:john/passwords.git
✅ Configured

By default gopass setup will use gpg encryption and git storage. This will create a new password store in $HOME/.local/share/gopass/stores/root and a configuration in $HOME/.config/gopass/config using gpg encryption and git for versioned storage. Users can override these with e.g. --crypto=age to use age encryption instead or opt out of using a versioned store with --storage=fs.

An existing store can be cloned with e.g. gopass clone git@gitlab.example.org:john/passwords.git.

Create a new secret:

gopass create

List all existing secrets:

gopass ls

Copy an existing password to the clipboard:

gopass show -c foo

Remove an existing secret:

gopass rm foo

Other examples:

# Command structure
gopass [<command>] [options] [args]
# Shortcut for gopass show [<key>]
gopass [<key>]

# Enter the gopass REPL
gopass

# Find all entries matching the search string
gopass find github

# List your store
gopass ls

# List all mounts
gopass mounts

# List all recipients
gopass recipients

# Sync with all remotes
gopass sync

# Setup a new store
gopass setup

Screenshot

screenshot

Support

Please ask on Slack.

Contributing

We welcome any contributions. Please see CONTRIBUTING.md for more information.

Credit & License

gopass is licensed under the terms of the MIT license. You can find the complete text in LICENSE.

Please refer to our Contributors page for a complete list of our contributors.

Documentation

Overview

Gopass implements the gopass command line tool.

Directories

Path Synopsis
helpers
changelog
Changelog implements the changelog extractor that is called by the autorelease GitHub action and used to extract the changelog from the CHANGELOG.md file.
Changelog implements the changelog extractor that is called by the autorelease GitHub action and used to extract the changelog from the CHANGELOG.md file.
man
Man implements a man(1) documentation generator that is run as part of the release helper to generate an up to date manpage for Gopass.
Man implements a man(1) documentation generator that is run as part of the release helper to generate an up to date manpage for Gopass.
postrel
Postrel is a helper that's supposed to be run after a release has been completed.
Postrel is a helper that's supposed to be run after a release has been completed.
release
Release is the first part of the gopass release automation.
Release is the first part of the gopass release automation.
internal
action
Package action implements all the handlers that are available as subcommands for gopass.
Package action implements all the handlers that are available as subcommands for gopass.
action/pwgen
Package pwgen implements the subcommands to operate the stand alone password generator.
Package pwgen implements the subcommands to operate the stand alone password generator.
audit
Package audit contains the password-strength auditing implementation.
Package audit contains the password-strength auditing implementation.
backend
Package backend implements a registry to register differnet plugable backends for encryption and storage (incl.
Package backend implements a registry to register differnet plugable backends for encryption and storage (incl.
backend/crypto/gpg/cli
Package cli implements a GPG CLI crypto backend.
Package cli implements a GPG CLI crypto backend.
backend/crypto/plain
Package plain implements a plaintext backend
Package plain implements a plaintext backend
backend/storage/fs
Package fs implement a password-store compatible on disk storage layout with unencrypted paths.
Package fs implement a password-store compatible on disk storage layout with unencrypted paths.
backend/storage/gitfs
Package gitfs implements a git cli based RCS backend.
Package gitfs implements a git cli based RCS backend.
cui
env
out
queue
Package queue implements an experimental background queue for cleanup jobs.
Package queue implements an experimental background queue for cleanup jobs.
set
store/mockstore/inmem
Package inmem implements an in memory storage backend for tests.
Package inmem implements an in memory storage backend for tests.
tpl
tree
Package tree implements a tree for displaying hierarchical password store entries.
Package tree implements a tree for displaying hierarchical password store entries.
pkg
appdir
Package appdir implements a customized lookup pattern for application paths like config, cache and data dirs.
Package appdir implements a customized lookup pattern for application paths like config, cache and data dirs.
debug
Package debug provides logging of debug information.
Package debug provides logging of debug information.
gitconfig
Package gitconfig implements a pure Go parser of Git SCM config files.
Package gitconfig implements a pure Go parser of Git SCM config files.
gopass
Package gopass contains the public gopass API.
Package gopass contains the public gopass API.
otp
passkey
Package passkey implements the support of Webauthn credentials for authentication.
Package passkey implements the support of Webauthn credentials for authentication.
pwgen
Package pwgen implements multiple popular password generate algorithms.
Package pwgen implements multiple popular password generate algorithms.
pwgen/pwrules
Code generated by go generate gen.go.
Code generated by go generate gen.go.
qrcon
Package qrcon implements a QR Code ANSI printer for displaying QR codes on the console.
Package qrcon implements a QR Code ANSI printer for displaying QR codes on the console.
tempfile
Package tempfile is a wrapper around os.MkdirTemp, providing an OO pattern as well as secure placement on a temporary ramdisk.
Package tempfile is a wrapper around os.MkdirTemp, providing an OO pattern as well as secure placement on a temporary ramdisk.
can

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL