<p>SSH is a generic protocol within which a user can deploy keys from a <a href="https://en.wikipedia.org/wiki/SSH_(Secure_Shell)#Algorithms" rel="nofollow noreferrer">variety of algorithms</a>, one of which is ECDSA (same as Bitcoin signatures).</p>
<p>The Ledger hardware wallet even has <a href="https://blog.ledger.com/ssh/" rel="nofollow noreferrer">an application for its devices</a> to perform SSH signatures using keys derived from the same seed used for cryptocurrencies.</p>
<p>TLS also has <a href="https://en.wikipedia.org/wiki/Transport_Layer_Security#Algorithms" rel="nofollow noreferrer">EC available as an algorithm</a> so there might be a way to use your BIP39 seed for this as well.</p>

CC BY-SA 4.0
2021-01-03T23:24:50.517Z
right but I can't see (using openssl for example) how to convert the derived pub/priv keys from bip39 to be used in ssh.  do you have an example of how to do this?  for example, taking a private bip39 key and using openssl to generate the private keys?
Scott Klarenbach
CC BY-SA 4.0
2021-01-07T17:52:52.050Z
You can read the manpage for `ssh-keygen`, which can generate a key pair from a specified key type and input file. You're on your own finding a way to export a bitcoin private key into PEM format so that openssl can import it though.
pinhead
CC BY-SA 4.0
2021-01-03T23:15:15.040Z
2021-01-03T23:15:15.040Z
pinhead
<p>Is it possible to use the same Bip39 mneumonic that generates addresses/keys to generate deterministic key pairs for use outside of cryptocurrency, say in ssh, tls, etc?</p>
<p>I know that bip39 doesn't use RSA and some conversion would need to be done, but I'm just wondering if it's possible.</p>
<p>For the simplest example of what I'm trying to achieve I'd like to convert the derived public/private keys from the table from here: <a href="https://iancoleman.io/bip39/" rel="nofollow noreferrer">https://iancoleman.io/bip39/</a> into ssh pairs, as a start.</p>

CC BY-SA 4.0
2021-06-23T10:00:07.487Z
I just had the same idea before I stumbled upon your question here. Did you fiddle around with ssh-keygen and found a way to make it work?
schlingel
<mnemonic-seed>
Use BIP39 to generate SSH or TLS keys?
Scott Klarenbach
# Use BIP39 to generate SSH or TLS keys?

(Asked by: username_0 on 2021-01-03)

Is it possible to use the same Bip39 mneumonic that generates addresses/keys to generate deterministic key pairs for use outside of cryptocurrency, say in ssh, tls, etc?

I know that bip39 doesn't use RSA and some conversion would need to be done, but I'm just wondering if it's possible.

For the simplest example of what I'm trying to achieve I'd like to convert the derived public/private keys from the table from here: <https://iancoleman.io/bip39/> into ssh pairs, as a start.

**Tags:** mnemonic-seed

> **Comments:**
> **username_1**: I just had the same idea before I stumbled upon your question here. Did you fiddle around with ssh-keygen and found a way to make it work?  

---

## 1 answers

### Answer by username_2 on 2021-01-03. Score: 3

SSH is a generic protocol within which a user can deploy keys from a [variety of algorithms](https://en.wikipedia.org/wiki/SSH_(Secure_Shell)#Algorithms), one of which is ECDSA (same as Bitcoin signatures).

The Ledger hardware wallet even has [an application for its devices](https://blog.ledger.com/ssh/) to perform SSH signatures using keys derived from the same seed used for cryptocurrencies.

TLS also has [EC available as an algorithm](https://en.wikipedia.org/wiki/Transport_Layer_Security#Algorithms) so there might be a way to use your BIP39 seed for this as well.

> **Comments:**
> **username_0**: right but I can't see (using openssl for example) how to convert the derived pub/priv keys from bip39 to be used in ssh.  do you have an example of how to do this?  for example, taking a private bip39 key and using openssl to generate the private keys?  
> **username_2**: You can read the manpage for `ssh-keygen`, which can generate a key pair from a specified key type and input file. You're on your own finding a way to export a bitcoin private key into PEM format so that openssl can import it though.  

---

