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-----
試しに 他の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 対応はまた今度でいいや。めんどいし←おいっ
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リポジトリからソースコードを入手することができます。スナップショットもあります。
古いリリースはこちらから入手可能ですが、なるべく最新版を利用することを推奨します。