LoginSignup
4
1

More than 3 years have passed since last update.

ssh-keygenで鍵作ったらハマった件

Last updated at Posted at 2020-08-09

Env

  • Kernel: 4.18.0
  • OS: CentOS Linux release 8.2.2004
  • 書いてるやつ: ヒト, Linux 知識皆無

どうなった

鍵の中身は消してます(無効化した鍵だけど)

[admin@global-02-conoha .ssh]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admin/.ssh/id_rsa.
Your public key has been saved in /home/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fffffffffffffffffffffffffffffffff admin@localhost
The key's randomart image is:
+---[RSA 3072]----+
|                 |
+----[SHA256]-----+

ここまでは良い。今までと同じや。cat ~/.ssh/id_rsa やって鍵をteratermに持ってきたらおかしくなった

-----BEGIN OPENSSH PRIVATE KEY-----
~~ 37行ほど省略 ~~
-----END OPENSSH PRIVATE KEY-----

openssh error.jpg

試しに 他のSSHができるやつからつないで見る。

[admin@localhost .ssh]$ ssh  0.0.0.0 -l admin -i ~/.ssh/admin.0-0-0-0.id_rsa -p 22
Enter passphrase for key '/home/admin/.ssh/admin.0-0-0-2.id_rsa':
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sun Aug  9 23:49:52 2020 from 0.0.0.1
[admin@localhost ~]$ ll
total 36K
-rw-r--r--. 1 root root  176 May 12  2019 .bashrc
-rw-------  1 root root 2.8K Aug  9 23:57 .bash_history
-rw-r--r--. 1 root root   18 May 12  2019 .bash_logout
-rw-r--r--. 1 root root  176 May 12  2019 .bash_profile
-rw-r--r--. 1 root root  100 May 12  2019 .cshrc
drwx------  2 root root 4.0K Aug  9 23:01 .ssh
-rw-r--r--. 1 root root  129 May 12  2019 .tcshrc
-rw-------  1 root root 1.3K Aug  9 23:55 .viminfo

うん、できた。
てことはteratermが対応してないだけっぽい

なにしたっ!

色々ググってたら 【OpenSSH 7.8】秘密鍵を生成する形式が変更になった件について こんなページ見つけてしまった。(割とすぐ)

とりあえず ssh-keygen -m PEM やっときゃ良さそう。teraterm 対応はまた今度でいいや。めんどいし←おいっ

man ssh-keygen
SSH-KEYGEN(1)                           BSD General Commands Manual                          SSH-KEYGEN(1)

NAME
     ssh-keygen ― authentication key generation, management and conversion

SYNOPSIS
     ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment]
                [-f output_keyfile] [-m format]

     The options are as follows:
     -m key_format
             Specify a key format for key generation, the -i (import), -e (export) conversion options, and
             the -p change passphrase operation.  The latter may be used to convert between OpenSSH pri‐
             vate key and PEM private key formats.  The supported key formats are: “RFC4716” (RFC
             4716/SSH2 public or private key), “PKCS8” (PKCS8 public or private key) or “PEM” (PEM public
             key).  By default OpenSSH will write newly-generated private keys in its own format, but when
             converting public keys for export the default format is “RFC4716”.  Setting a format of “PEM ”
             when generating or updating a supported private key type will cause the key to be stored in

             the legacy PEM private key format.

鍵生成の鍵形式、-i(インポート)、-e(エクスポート)変換オプション、および-pパスフレーズ変更操作を指定します。 後者は、OpenSSH秘密鍵とPEM秘密鍵の形式間の変換に使用できます。 サポートされているキー形式は、「RFC4716」(RFC 4716 / SSH2公開または秘密キー)、「PKCS8」(PKCS8公開または秘密キー)、または「PEM」(PEM公開キー)です。 デフォルトでは、OpenSSHは独自に生成した秘密鍵を独自の形式で書き込みますが、公開鍵をエクスポート用に変換する場合、デフォルトの形式は「RFC4716」です。 サポートされている秘密鍵タイプを生成または更新するときに「PEM」の形式を設定すると、鍵はレガシーPEM秘密鍵形式で保存されます。

つまりどうすればいいと

ssh-keygenするときは-m PEMつけてフォーマットを従来のフォーマットにしときゃなんとかなる。

けど、そもそも -----BEGIN RSA PRIVATE KEY----- から -----BEGIN OPENSSH PRIVATE KEY----- になったのって Offline Password Cracking とかいうやつに対してより強くなったからであって、改悪なったわけではない。なので最新のターミナルソフトをつかうか、OPENSSH鍵に対応したターミナル使おうってことだけど、2020/08/10 時点で teraterm の最新バージョンが4.105 でその最新版が対応してない... orz.

ダウンロード
最新のリリースは、OSDN よりダウンロードすることができます。現在の最新版は 4.105 です。

いち早く最新版を試したい方は、SVNリポジトリからソースコードを入手することができます。スナップショットもあります。
古いリリースはこちらから入手可能ですが、なるべく最新版を利用することを推奨します。

image.png

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1