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

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

# どうなった

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

```bash
[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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104374/08e251fc-6328-705e-6f08-733fb7687496.jpeg)

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

```bash
[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】秘密鍵を生成する形式が変更になった件について](https://dev.classmethod.jp/articles/openssh78_potentially_incompatible_changes/) こんなページ見つけてしまった。（割とすぐ）

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


```bash: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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104374/a348d628-cba4-ace7-c20b-77f12958bb45.png)