This is a guide to migrate to a newer version of tkey-ssh-agent. This is only applicable for major releases where the generated identity has changed, i.e., when the embedded device application, tkey-device-signer, has been updated.
When a new identity is generated the public key on all the services/servers where you use TKey must be updated.
In general this can be split in two categorize. Updating your public key where:
1) you have an alternative method of authentication; or
2) you first need to authenticate with your TKey, in order to update the public key.
For category 1, where you have an alternative method of authentication, you can skip this guide. This goes for services like GitHub, GitLab and so on, where you usually sign in into their web interface to register keys for authentication. For these types of services you can install the new version, retrieve you new public key, and then refer to their documentation on how to register a new key.
The same goes for servers where you have an alternative way of authenticating. Don’t forget to remove the old key.
For category 2, servers or other services where you might want or need to use the same TKey in order to first authenticate and then update the authentication key.
This method tries to simplify the update process by removing the issue of having two versions of the same application installed simultaneously. This method is possible to use as long as the the device application of the newer version is compatible with currently installed tkey-ssh-agent.
For this method you have to to download and install tkey-runapp, a client application that simply loads a device applications onto the TKey. Follow the steps below.
tkey-runapp signer.bin-vX.Y.Z --uss
tkey-runapp -h
for more options.ssh-add -L
to retrieve your new public key. This requires that you have the environment variable, SSH_AUTH_SOCK
, set to point at the tkey-ssh-agent socket. If not, you can also use tkey-ssh-agent -p
..ssh/authorized_keys
(or other appropriate location) by adding the new public key you saved in step #4.tkey-runapp signer.bin-vX.Y.Z --uss
then enter the USS used in step #3..ssh/authorized_keys
.