Almalinux9 に Teraterm でSSH接続できない時の解決方法

イヌガジェ
イヌガジェ

どうも皆さんお久しぶりです。

旅行いきまくってたイヌガジェです。

ということで、今回はAlmalinux9でサーバを構築した際にTerratermでSSHしようとしたら出来ないという件について、少し記事を書こうと思います。

環境
私のPCのOS:Windows 11
サーバOS:Almalinux9.0以降
Terraterm:version4.1
※本記事は2023/08/14時点での情報での執筆となります。

2023/12/19追記
Teraterm公式よりSHA2に対応したバージョンのリリースが発表されました!
以下リンクよりアップデートをお願いします!

Releases · TeraTermProject/osdn-download
Contribute to TeraTermProject/osdn-download development by creating an account on GitHub.
イヌガジェ
イヌガジェ

これで接続できない問題は解決やね。

※また、AWS等から接続できないという場合は、セキュリティグループやネットワーク経路等を確認してみると良いと思います!

解決方法

早速なのですが、現状私が知りえる解決方法を3つご紹介いたします。

Ed25519の秘密鍵を作成する

AWS等のクラウドから構築を行うのであれば、
構築の際に初期のec2userの秘密鍵の形式を選択することが出来るかと思うので、
「キーペアのタイプ」にて「ED25519」を選択してキーペアを作成して、構築をしてください。
これで作ってあげていれば問題なくTerratermからSSHが出来るようになっています。


RSAを選んで既に作成しちゃったよ…
という人も安心してください(`・ω・´)
その場合は、以下の方法を参考にしてください。

PowershellからSSHする

実はWindowsからもSSHってできちゃうんです。
しかもrsa-sha2-256 および rsa-sha2-512 プロトコルにも対応しています。ええやん。
PowerShellを立ち上げ、以下コマンドを使って接続を試みてください。

ssh -i {pemキーへのパス}aws-ssh-key.pem ec2user@{パブリックIP}

これで簡単にSSHできちゃいますね。
※SG(セキュリティグループ)とかはちゃんと開けてないとSSH出来ないとかあるのであしからず。

Teraterm 5.0 beta 1 を使用する

AWSでAlmalinux9にしてRSAを選んだ状態で新規の秘密鍵ペアを作成した場合は
自動的にrsa-sha2で鍵が作られています。

Terratermのバージョンが私の環境のような4.1だとSSHすることができないので、
 rsa-sha2-256 および rsa-sha2-512 プロトコルがサポートされた、
5.0 beta 1 のバージョンのダウンロードを行ってSSHしてあげればOKです。

ダウンロードリンク:https://osdn.net/projects/ttssh2/releases/78350

そもそもの原因とは…?

原因についてはRed Hat Enterprise Linux 9 および、その互換OSは、SSHキーのRSA 1024bitをデフォルトだとサポートしていないためであることと、
逆にTerraterm4.1だとrsa-sha2がサポートされていないためです。

なので、結論としては以下の通りになります。

  • サーバ構築時にEd25519で秘密鍵ペアを作る
  • もし既に作ったあとならPowershellやWSL2から接続する
  • Teraterm は、 5.0 beta 1 以降のバージョンを使えばrsa-sha2にも対応して接続できるので、アップデートすると楽になれる。4.x 台など、以前のバージョンを使ってると、デフォルトでは接続できない。

ちなみに、例えばAlmalinux9以外の異なるOSのサーバで使っていた古いrsa-shaの秘密鍵を使いまわしたい。みたなケースであれば、セキュリティレベルを下げてあげればAlmalinux9でもssh-rsaでSSHすることが出来ます。
その場合は以下の方法で対応してあげてください。

1.PowershellからSSH
2.rootになって以下コマンドを実行

# update-crypto-policies --set DEFAULT:SHA1
Setting system policy to DEFAULT:SHA1
Note: System-wide crypto policies are applied on application start-up.
It is recommended to restart the system for the change of policies
to fully take place.

3.システムを再起動

# reboot

4.再起動後に再度接続をして現在のポリシーを確認

# update-crypto-policies --show
DEFAULT:SHA1

こうなっていればshaにも対応するのでTerraterm4.1等からも問題なく接続ができます!
詳しくはこちら

まとめ

久しぶりに記事書きました。
秘密鍵って結構簡単なようで、サイレント仕様変更とかされて接続できないと焦ったりしますよね。
これ結構知らない人多くて躓いたりするという声を聞くので、少しでも参考になれば幸いです。
良いSSHライフを!

イヌガジェ
イヌガジェ

最近、○○ライフを!という言い回しにハマってます。

コメント

タイトルとURLをコピーしました