😸

SSH形式の鍵とPuTTY形式の鍵の違い

2023/10/28に公開

概要

Linuxで鍵といえばpemを思い浮かべる方が多いと思いますが、ppk形式の鍵を業務で使うことになったので軽く予習します。

SSH

  • Linuxで使われる形式
  • 作成すると、id_rsa(秘密鍵)、id_rsa.pub(公開鍵?)が作成され、秘密鍵と公開鍵が分離している

PuTTY

  • Windowsで利用するための鍵フォーマット(PuTTY Private Key)
  • 拡張子が.ppk
  • 秘密鍵・公開鍵が同梱されたファイル
  • teratermや、WinSCPに同梱されているPutty key Generaterで作れる模様

OpneSSHを利用してSSHの鍵を作ってみる

ssh-keygen -t RSA -b 4096

(作成されたファイルを確認)
id_rsa          // 秘密鍵
id_rsa.pub      // 公開鍵
(各鍵の形式を確認)
[root@e4e48095cbe2 tmp]# file id_rsa        // 拡張子を確認
id_rsa: PEM RSA private key                 // PEM形式
[root@e4e48095cbe2 tmp]# file id_rsa.pub    // 拡張子を確認
id_rsa.pub: OpenSSH RSA public key          // OpenSSH形式
id_rsa(秘密鍵から作成した公開鍵の中身)
[root@e4e48095cbe2 tmp]# openssl rsa -pubout -in /tmp/id_rsa
writing RSA key
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxhpks61Pcr81RZ1s+k6Q
Vh9ONTDGZPRw9IYYS6fc8G4xSuZwC+zZJV863yMEAgcse51SU3z2H1kEWO3YTGHN
nJhSEA/AYcP3EYaI5b0rOU+OJ6ZtfmHiEikkZ+UGHMgOLflzUAKe1va4xDbloPXU
YEDstU8ykG1cGjPPf6zD9nQSXVvIhOOHW+LDFKVQwb9YErTrlQoZxCbxBKHF+3ai
zjfFn6n0NZrNFX/UzFzxV+69Tbf3C3bpgoIoihtW/vy7XNKD5nCanV3XHsEmZGBJ
ersmd2JfXJi/xM+SKLVtpuCW71oM6fpRrSztFmTGhzDZMsGdV7Kkzjq5XNi7mhFq
o4b8erEdWvGyoGA6QFbVu2Dk7RkB9lgVwm31SUKY4tbvQGW+tLORoM9w76xAfevx
GqdvufxKPbA0e4ysp8Rz7G4NiMv1AtOy/yhG+k7zIfFgTH2gtVNCjBnKNS3US6xK
8e7nCe/+gE2FL2XYo9z5W1nhX6FnjyBLoCgPVaLstly8PZQCzT5mBFapksPyKIWh
Aqtl1Rh+M9LKNSGR83uOmddReIcyfwregXYdZR6aivZC4EgUfZ9dnbyO/OGkprFY
VMTILlf7SRN1uF4yBM6/OmEZTugyEDCnqv0qtKjFK7yImZHSad/CgOdAgOGsNqDg
g45Kpi4gc5LAWqPxYe/2ETkCAwEAAQ==
-----END PUBLIC KEY-----
id_rsa(公開鍵の中身)
[root@e4e48095cbe2 tmp]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDGGmSzrU9yvzVFnWz6TpBWH041MMZk9HD0hhhLp9zwbjFK5nAL7NklXzrfIwQCByx7nVJTfPYfWQRY7dhMYc2cmFIQD8Bhw/cRhojlvSs5T44npm1+YeISKSRn5QYcyA4t+XNQAp7W9rjENuWg9dRgQOy1TzKQbVwaM89/rMP2dBJdW8iE44db4sMUpVDBv1gStOuVChnEJvEEocX7dqLON8WfqfQ1ms0Vf9TMXPFX7r1Nt/cLdumCgiiKG1b+/Ltc0oPmcJqdXdcewSZkYEl6uyZ3Yl9cmL/Ez5IotW2m4JbvWgzp+lGtLO0WZMaHMNkywZ1XsqTOOrlc2LuaEWqjhvx6sR1a8bKgYDpAVtW7YOTtGQH2WBXCbfVJQpji1u9AZb60s5Ggz3DvrEB96/Eap2+5/Eo9sDR7jKynxHPsbg2Iy/UC07L/KEb6TvMh8WBMfaC1U0KMGco1LdRLrErx7ucJ7/6ATYUvZdij3PlbWeFfoWePIEugKA9Vouy2XLw9lALNPmYEVqmSw/IohaECq2XVGH4z0so1IZHze46Z11F4hzJ/Ct6Bdh1lHpqK9kLgSBR9n12dvI784aSmsVhUxMguV/tJE3W4XjIEzr86YRlO6DIQMKeq/Sq0qMUrvIiZkdJp38KA50CA4aw2oOCDjkqmLiBzksBao/Fh7/YROQ== root@e4e48095cbe2

秘密鍵から作成した公開鍵と、OpenSSH形式の公開鍵は中身が別でした。

参考

https://qiita.com/angel_p_57/items/19eda15576b3dceb7608#2種類の鍵の用途

Discussion