はじめに
秘密鍵は手元にあるけど、公開鍵がすぐに出せないということがよくある。
しかし、秘密鍵を元に公開鍵を作成することは可能だ
手順
ssh-keygen -yf 秘密鍵
リダイレクトすることにより、ファイルに出力が可能
例
ssh-keygen -yf /tmp/id_rsa > /tmp/id_rsa.pub.dump
確認
オリジナルの公開鍵と、秘密鍵を元に復元した公開鍵の違いはこちら
[root@tsukada ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /tmp/id_rsa. Your public key has been saved in /tmp/id_rsa.pub. The key fingerprint is: SHA256:HlWiUEHdOU5YteJv38bSB5oXXUQPuxqaubyvJK8dpzs root@tsukada The key's randomart image is: +---[RSA 2048]----+ | .o+o.+ooo..| | . .oo= +o| | . .o..o..| | . ... ..| | S o ...| | . . + +o .| | o * ooo= | | *E=o.o.*| | ..X*.. o+| +----[SHA256]-----+ [root@tsukada ~]# [root@tsukada ~]# ls -l /tmp/id_rsa* -rw------- 1 root root 1675 8月 17 19:36 /tmp/id_rsa -rw-r--r-- 1 root root 393 8月 17 19:36 /tmp/id_rsa.pub [root@tsukada ~]# [root@tsukada ~]# ssh-keygen -yf /tmp/id_rsa > /tmp/id_rsa.pub.dump [root@tsukada ~]# ls -l /tmp/id_rsa* -rw------- 1 root root 1675 8月 17 19:36 /tmp/id_rsa -rw-r--r-- 1 root root 393 8月 17 19:36 /tmp/id_rsa.pub -rw-r--r-- 1 root root 381 8月 17 19:36 /tmp/id_rsa.pub.dump [root@tsukada ~]# diff /tmp/id_rsa.pub /tmp/id_rsa.pub.dump 1c1 < ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhAoTIS70SmsUKkYp+J11UdnbEqmHmJ1rZP9lbXlP7jDqYZbOKV761CIEtgAuObxNDsr7fh2K0/eH4P+Ie1JB4yFsAQdyQnIqR0BEOT+3DKdSVDJP6ec0iOGl5XrAqbx3rs5pCfUBC3tD8EQHpKOrRHxp7m+o3QnljGtAL0cBMb+3n4dw4Lapq3L0ZOaeXzmuH7efOLT/u6wUQVzWACSZ2z4Jssei22nkJXgXXM6pkV7ejkbNZUppKJZe5drYvW4TJPqKYeAktDr6tnhDJ6n1Qgy3SjWGaDcJ7UKa2CG/84y+I9Et2BXiJaUd5qNMBITx26RDMcNoxTbGSOp1IZwPr root@tsukada --- > ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhAoTIS70SmsUKkYp+J11UdnbEqmHmJ1rZP9lbXlP7jDqYZbOKV761CIEtgAuObxNDsr7fh2K0/eH4P+Ie1JB4yFsAQdyQnIqR0BEOT+3DKdSVDJP6ec0iOGl5XrAqbx3rs5pCfUBC3tD8EQHpKOrRHxp7m+o3QnljGtAL0cBMb+3n4dw4Lapq3L0ZOaeXzmuH7efOLT/u6wUQVzWACSZ2z4Jssei22nkJXgXXM6pkV7ejkbNZUppKJZe5drYvW4TJPqKYeAktDr6tnhDJ6n1Qgy3SjWGaDcJ7UKa2CG/84y+I9Et2BXiJaUd5qNMBITx26RDMcNoxTbGSOp1IZwPr [root@tsukada ~]# [root@tsukada ~]#
公開鍵の後ろに作成したuser@serverが入るのがオリジナル。入らないのが復元した公開鍵。もちろん機能的にはまったく同じく使うことが可能だ