Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions agents/onlykey/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include README.md
66 changes: 66 additions & 0 deletions agents/onlykey/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# onlykey-agent

**Use your [OnlyKey](https://onlykey.io) as a hardware-based SSH and GPG agent.**

`onlykey-agent` lets you perform SSH authentication and GPG operations (signing,
encryption, and decryption) using keys that are generated and stored on an
OnlyKey hardware security device. Your private keys are created on the device
and never leave it — they are never written to disk or exposed to your computer,
which protects them from malware and key-theft even on a compromised host.

It is part of the [`lib-agent`](https://pypi.org/project/lib-agent/) family of
hardware agents (alongside `trezor-agent`, `ledger_agent`, `keepkey_agent`, and
`jade_agent`).

## Features

- **SSH agent** — authenticate to servers and Git hosts with a key held on your OnlyKey.
- **GPG agent** — sign emails, Git commits, and software releases, and decrypt messages.
- **age support** — encrypt and decrypt files with hardware-backed keys.
- **No keys on disk** — keys are generated and stored on the device and never reach the host.

## Installation

```bash
pip install onlykey-agent
```

This installs three console entry points:

- `onlykey-agent` — SSH agent
- `onlykey-gpg` — GPG tool
- `onlykey-gpg-agent` — GPG agent

## Usage

Use your OnlyKey to log in over SSH:

```bash
onlykey-agent user@example.com -c
```

Set up a GPG identity backed by your OnlyKey:

```bash
onlykey-gpg init "Your Name <you@example.com>"
```

Full SSH and GPG instructions, including common use cases, are available in the
[project documentation](https://github.com/trustcrypto/onlykey-agent).

## Requirements

- Python 3.8+
- An [OnlyKey](https://onlykey.io) device
- [`lib-agent`](https://pypi.org/project/lib-agent/) and the
[`onlykey`](https://pypi.org/project/onlykey/) Python package (installed automatically)

## Links

- Homepage / source: https://github.com/trustcrypto/onlykey-agent
- OnlyKey: https://onlykey.io
- Documentation: https://docs.onlykey.io

## License

Released under the GNU Lesser General Public License v3 (LGPLv3).
18 changes: 17 additions & 1 deletion agents/onlykey/setup.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
#!/usr/bin/env python
import os

from setuptools import setup

here = os.path.abspath(os.path.dirname(__file__))
try:
with open(os.path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
except IOError:
long_description = 'Using OnlyKey as hardware SSH/GPG agent'

setup(
name='onlykey-agent',
version='1.1.13',
version='1.1.16',
description='Using OnlyKey as hardware SSH/GPG agent',
long_description=long_description,
long_description_content_type='text/markdown',
author='CryptoTrust',
author_email='admin@crp.to',
url='http://github.com/trustcrypto/onlykey-agent',
project_urls={
'Homepage': 'https://github.com/trustcrypto/onlykey-agent',
'Documentation': 'https://docs.onlykey.io',
'Source': 'https://github.com/trustcrypto/onlykey-agent',
},
scripts=['onlykey_agent.py'],
install_requires=[
'lib-agent>=1.0.6',
Expand Down