84 lines
3.8 KiB
Markdown
84 lines
3.8 KiB
Markdown
# Using TREZOR as a hardware SSH/GPG agent
|
||
|
||
[](https://travis-ci.org/romanz/trezor-agent)
|
||
[](https://pypi.python.org/pypi/trezor_agent/)
|
||
[](https://pypi.python.org/pypi/trezor_agent/)
|
||
[](https://pypi.python.org/pypi/trezor_agent/)
|
||
[](https://pypi.python.org/pypi/trezor_agent/)
|
||
|
||
See SatoshiLabs' blog posts about this feature:
|
||
|
||
- [TREZOR Firmware 1.3.4 enables SSH login](https://medium.com/@satoshilabs/trezor-firmware-1-3-4-enables-ssh-login-86a622d7e609)
|
||
- [TREZOR Firmware 1.3.6 — GPG Signing, SSH Login Updates and Advanced Transaction Features for Segwit](https://medium.com/@satoshilabs/trezor-firmware-1-3-6-20a7df6e692)
|
||
- [TREZOR Firmware 1.4.0 — GPG decryption support](https://www.reddit.com/r/TREZOR/comments/50h8r9/new_trezor_firmware_fidou2f_and_initial_ethereum/d7420q7/)
|
||
|
||
## Installation
|
||
|
||
Install the following packages:
|
||
|
||
$ apt-get install python-dev libusb-1.0-0-dev libudev-dev
|
||
$ pip install -U setuptools pip
|
||
|
||
Make sure you are running the latest firmware version on your hardware device.
|
||
Currently the following firmware versions are supported:
|
||
|
||
* [TREZOR](https://wallet.trezor.io/data/firmware/releases.json): `1.4.2+`
|
||
* [KeepKey](https://github.com/keepkey/keepkey-firmware/releases): `3.0.17+`
|
||
* [Ledger Nano S](https://github.com/LedgerHQ/blue-app-ssh-agent): `0.0.3+`
|
||
|
||
### TREZOR
|
||
|
||
Make sure that your `udev` rules are configured [correctly](https://doc.satoshilabs.com/trezor-user/settingupchromeonlinux.html#manual-configuration-of-udev-rules).
|
||
Then, install the latest [trezor_agent](https://pypi.python.org/pypi/trezor_agent) package:
|
||
|
||
$ pip install trezor_agent
|
||
|
||
Or, directly from the latest source code:
|
||
|
||
$ git clone https://github.com/romanz/trezor-agent
|
||
$ pip install --user -e trezor-agent/agents/trezor
|
||
|
||
If you have an error regarding `protobuf` imports (after installing it), please see [this issue](https://github.com/romanz/trezor-agent/issues/28).
|
||
|
||
### KeepKey
|
||
|
||
Make sure that your `udev` rules are configured [correctly](https://support.keepkey.com/support/solutions/articles/6000037796-keepkey-wallet-is-not-being-recognized-by-linux).
|
||
Then, install the latest [keepkey_agent](https://pypi.python.org/pypi/keepkey_agent) package:
|
||
|
||
$ pip install keepkey_agent
|
||
|
||
Or, directly from the latest source code:
|
||
|
||
$ git clone https://github.com/romanz/trezor-agent
|
||
$ pip install --user -e trezor-agent/agents/keepkey
|
||
|
||
### Ledger Nano S
|
||
|
||
Make sure that your `udev` rules are configured [correctly](http://support.ledgerwallet.com/knowledge_base/topics/ledger-wallet-is-not-recognized-on-linux).
|
||
Then, install the latest [ledger_agent](https://pypi.python.org/pypi/ledger_agent) package:
|
||
|
||
$ pip install ledger_agent
|
||
|
||
Or, directly from the latest source code:
|
||
|
||
$ git clone https://github.com/romanz/trezor-agent
|
||
$ pip install --user -e trezor-agent/agents/ledger
|
||
|
||
## Usage
|
||
|
||
For SSH, see the [following instructions](README-SSH.md) (for Windows support,
|
||
see [trezor-ssh-agent](https://github.com/martin-lizner/trezor-ssh-agent) project (by Martin Lízner)).
|
||
|
||
For GPG, see the [following instructions](README-GPG.md).
|
||
|
||
See [here](https://github.com/romanz/python-trezor#pin-entering) for PIN entering instructions.
|
||
|
||
## Troubleshooting
|
||
|
||
If there is an import problem with the installed `protobuf` package,
|
||
see [this issue](https://github.com/romanz/trezor-agent/issues/28) for fixing it.
|
||
|
||
### Gitter
|
||
|
||
Questions, suggestions and discussions are welcome: [](https://gitter.im/romanz/trezor-agent)
|