onlykey-cli
—
Python client for interacting with the OnlyKey
onlykey-cli
is a command line interface to the OnlyKey
that can be used for configuration (similar functionality to OnlyKey App). You
can either provide a command to get it executed
immediately or run onlykey-cli
without parameters to
open an interactive prompt and type commands there.
init
-
Sets OnlyKey into initial configuration mode (setting
PIN).
settime
-
Sets time on OnlyKey, time is needed for TOTP (Google
Authenticator).
getlabels
-
Prints label for each slot.
getkeylabels
-
Prints key label for each RSA and ECC key.
setslot
slot_id type
value
-
For the specified slot sets parameter of the specified
type to the value
provided.
- slot_id
- Slot id: 1a-6b.
- type
- Type of the parameter to set. Must be one of the following:
- label
- The slot label.
- url
- URL of the login page.
- delay1
- Delay after entering URL, seconds: 0-9.
- add_char1
- Additional character before username: 1 for TAB, 0 to clear.
- username
- Username to login.
- add_char2
- Additional character after username: 1 for TAB, 2 for RETURN.
- delay2
- Delay after entering username, seconds: 0-9.
- password
- Password to login.
- add_char3
- Additional character after password: 1 for TAB, 2 for RETURN.
- delay3
- Delay after entering password, seconds: 0-9.
- add_char4
- Additional character before OTP: 1 for TAB, 2 for RETURN.
- 2fa
- Type of two factor authentication: g for Google Authenticator, y -
Yubico OTP, u - U2F.
- totpkey
- Google Authenticator key.
- add_char5
- Additional character after OTP: 1 for TAB, 2 for RETURN.
- value
- Value to set, see accepted values in each parameter type description
above.
wipeslot
slot_id
-
Erases all the data (URL/username/password/label/etc.) of the
slot with provided slot_id (1a-6b).
setkey
key_slot key_type
-
Sets custom key of provided key_type to
the key_slot.
wipekey
key_slot
-
Wipes custom key from the provided
key_slot.
idletimeout
timeout
-
Sets the OnlyKey auto-lock time value to
timout minutes: 1-255; default is 30; 0 to
disable.
wipemode
mode_id
-
Configures how the OnlyKey responds to a factory reset.
Accepted mode_id values are:
- 1
- Only sensitive data will be wiped (default).
- 2
- Entire OnlyKey device will be wiped, including firmware. Firmware must
be reloaded after factory reset. This mode is recommended for
plausible deniability users. WARNING: setting to this mode cannot be
changed.
keylayout
layout_id
-
Configures the OnlyKey keyboard layout. Accepted
layout_id values are:
- 1
- USA_ENGLISH (default).
- 2
- CANADIAN_FRENCH.
- 3
- CANADIAN_MULTILINGUAL.
- 4
- DANISH.
- 5
- FINNISH.
- 6
- FRENCH.
- 7
- FRENCH_BELGIAN.
- 8
- FRENCH_SWISS.
- 9
- GERMAN.
- 10
- GERMAN_MAC.
- 11
- GERMAN_SWISS.
- 12
- ICELANDIC.
- 13
- IRISH.
- 14
- ITALIAN.
- 15
- NORWEGIAN.
- 16
- PORTUGUESE.
- 17
- PORTUGUESE_BRAZILIAN.
- 18
- SPANISH.
- 19
- SPANISH_LATIN_AMERICA.
- 20
- SWEDISH.
- 21
- TURKISH.
- 22
- UNITED_KINGDOM.
- 23
- CZECH.
- 24
- SERBIAN_LATIN_ONLY.
- 25
- HUNGARIAN.
keytypespeed
speed
-
Sets type speed : 1 is slowest; 10 is
fastest; 4 is default.
Sometimes the onlykey-cli
doesn't recognize that PIN has
been entered and the OnlyKey in unlocked successfully. In such case any
command to the OnlyKey fails with an error 'OnlyKey is locked, enter PIN to
unlock'. The workaround for such issue is to just retry one more time.
This manual page is a
mdoc(7)
reimplementation of the OnlyKey PIP module's README.md, modified and
customized for FreeBSD. The
mdoc(7)
implementation of this manual page was initially written by
Dmytro Bilokha ⟨dmytro@posteo.net⟩.
Main OnlyKey product page: https://onlykey.io/
OnlyKey documentation site: https://docs.crp.to/
Source code: https://github.com/trustcrypto/python-onlykey