古い機器で短い鍵しか使えないなどといったときにどうにか出来ないかなって感じのときに?
※この方法はOpenSSH 7.2p2 では行けるらしいが,OpenSSH_7.6p1, OpenSSH 8.1p1ではNGだった.
changelogを確認すると7.1/7.1p1からNGぽいけど7.2p1で動く?
https://www.openssh.com/txt/release-7.1
* Refusing all RSA keys smaller than 1024 bits (the current minimum is
768 bits).
サポートされていない短い鍵を作ろうとすると作れない
$ ssh-keygen -t rsa -b 768 Invalid RSA key length: minimum is 1024 bits
opensslで作れる
$ openssl genrsa -out key.pem 768 Generating RSA private key, 768 bit long modulus (2 primes) ........+++++++ ................................+++++++ e is 65537 (0x010001)
パスフレーズありの場合
$ openssl genrsa -out id_rsa768 -aes256 768 Generating RSA private key, 768 bit long modulus (2 primes) ..+++++++ ..........+++++++ e is 65537 (0x010001) Enter pass phrase for id_rsa768: Verifying - Enter pass phrase for id_rsa768:
秘密鍵の確認
$ openssl rsa -text < key.pem
対応する公開鍵を作る
作れなかった.7.2p2では行けるらしいが今回試しているのは8.1p1
$ ssh-keygen -y -f key.pem > key.pub Load key "key.pem": Invalid key length
公開鍵もopensslで作る
$ openssl rsa -pubout < key.pem > key.pub writing RSA key
公開鍵の確認
$ openssl rsa -text -pubin < key.pub
しかし実際使おうとすると使えない.
$ ssh -v -i ~/.ssh/key.pem localhost : debug1: Trying private key: /home/matoken/.ssh/key.pem Load key "/home/matoken/.ssh/key.pem": Invalid key length
検証中
$ openssl ecparam -genkey -name prime256v1 -----BEGIN EC PARAMETERS----- BggqhkjOPQMBBw== -----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEII/p1OH2ZQ6B6k1CRk1WHr4iPxOuv+N/DzK0znQ6DWpAoAoGCCqGSM49 AwEHoUQDQgAEhO6Eb8d+0awb9XXFBGcBH3C7QPh+LfZDOtpzIeAoiektPlJOVDff CeV/6xhBDuYuVkdZVen1JIrcP4mjhCpZzA== -----END EC PRIVATE KEY----- $ openssl ecparam -genkey -name secp521r1 -----BEGIN EC PARAMETERS----- BgUrgQQAIw== -----END EC PARAMETERS----- -----BEGIN EC PRIVATE KEY----- MIHcAgEBBEIAt6966Pl0MVeg629y+0SKPtXB1Y0jXVT1SRNrKPIrs22tbkmxGsTZ H6l3BxbdB9A6cvQggW+hNLO2FhsptOb7/2agBwYFK4EEACOhgYkDgYYABAEm6obx je5KY9CgO60nvX/2AsTqMyJNcqm5yOXS7Y7CWldu2fvxTz87n5E17hzNb/Eob+VD 5trMIGbUht+gjRwW9AC4seiIdZp9/pVEKVXIgL25IsqvPg7DRKRJXgYloDtpjKPV mMH96l9GloIV295s/l7VK9MweghstzyxhOiLfNGjtA== -----END EC PRIVATE KEY-----
検証中
$ openssl genpkey -algorithm ed25519
コメント