秘密鍵から .pub ファイルを作成するには？


ssh-keygen で生成した秘密鍵があります。

[code]

     % ssh-keygen -N '' -f test
     Generating public/private rsa key pair.
     Your identification has been saved in test.
     Your public key has been saved in test.pub.
     The key fingerprint is:
     d8:65:bb:19:09:98:76:6e:be:c0:03:78:fd:02:d8:44 vagrant@vagrant-ubuntu-trusty-64
     The key's randomart image is:
     +--[ RSA 2048]----+
     |    E            |
     |   .   o         |
     |    . + o o      |
     |   = o = + o     |
     |  o = o S +      |
     |   . + +   +     |
     |      = o o      |
     |       + .       |
     |        .        |
     +-----------------+
    
[/code]

このように生成された秘密鍵(だけ)があった時に、公開鍵を作成したいと思いました。  
<https://stackoverflow.com/questions/10271197/openssl-how-to-extract-public-
key> などを参考にし、次のコマンドを実行しました。

[code]

    openssl rsa -in test -pubout > test.pub.hand
    
[/code]

結果として得られた、`test.pub` と`test.pub.hand` には差分があります。それぞれ、

### test.pub

(長い1行なので、 quote で、、)

> ssh-rsa
> AAAAB3NzaC1yc2EAAAADAQABAAABAQC5JbG7ofNdWaTCqWUeAsof6FTqJyAR23/r7ZuCHbPGgT5h8jjluJT44ASFKXuFAqh0fVFE2CPviDUvPOi3kUApwk4wozdntZD4LwSR5aW/hXTnvtHxd5fKDM+IWSTDXH5ZONjTsClJNKQbhyBzcXqSQ3QnxPPsoC1Hau1OIvsQsnROjqWzI/1MoYSbGq5uNPeyuDKlVcGNWjOrb0kGrQeQzSHht04NaXulWRzkmsr365JFd+HDuFio8nBBOBs8JTFAZo9EpFLLqNZ9mqRHPl47AoLrdWanRQewPgaXqQdpQGip4vyK0Sfff4NwZwTbtWYHrnL0bKrfNPEl5PEmqJ9t
> vagrant@vagrant-ubuntu-trusty-64

### test.pub.hand

[code]

    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSWxu6HzXVmkwqllHgLK
    H+hU6icgEdt/6+2bgh2zxoE+YfI45biU+OAEhSl7hQKodH1RRNgj74g1Lzzot5FA
    KcJOMKM3Z7WQ+C8EkeWlv4V0577R8XeXygzPiFkkw1x+WTjY07ApSTSkG4cgc3F6
    kkN0J8Tz7KAtR2rtTiL7ELJ0To6lsyP9TKGEmxqubjT3srgypVXBjVozq29JBq0H
    kM0h4bdODWl7pVkc5JrK9+uSRXfhw7hYqPJwQTgbPCUxQGaPRKRSy6jWfZqkRz5e
    OwKC63Vmp0UHsD4Gl6kHaUBoqeL8itEn33+DcGcE27VmB65y9Gyq3zTxJeTxJqif
    bQIDAQAB
    -----END PUBLIC KEY-----
    
[/code]

## 質問

ssh-keygen で生成された秘密鍵から、公開鍵を作成するには、どうしたらいいでしょうか。  
特に、 authorized_keys に append できる形で .pub を生成したいと考えています。  
そのためには、上記の例で言えば、最初の方の形式であると認識しています。




`-y` オプションを利用してください。

[code]

    ssh-keygen -y -f test
    
[/code]

`man ssh-keygen` より:

>
[code]

>     -y      This option will read a private OpenSSH format file and print an
>             OpenSSH public key to stdout.
>  
[/code]




`-y` オプションを利用してください。

[code]

    ssh-keygen -y -f test
    
[/code]

`man ssh-keygen` より:

>
[code]

>     -y      This option will read a private OpenSSH format file and print an
>             OpenSSH public key to stdout.
>  
[/code]

