LoginSignup
4
3

More than 1 year has passed since last update.

仮想マシンでUbuntu22.04を立てて早速TeraTermで接続しようと思ったらつながらない!?

これはUbuntu22.04に入っているOpenSSHの8.8系からSHA-1を使用したRSA鍵がデフォルトで廃止になったこととTeraTermがSHA-2 RSAに対応していないことが原因です。

すなわちSHA2 RSAのrsa-sha2-256(sha-256)やrsa-sha2-512(sha-512)などのアルゴリズムは大丈夫なのでRSA鍵がダメというわけではないです。

さらに言えば、TeraTermではなくCommandPromptやPowerShellなどでならRSA鍵でも(SHA-1は除く)SSH接続は可能です

でも、TeraTermで接続できないのはちょっと困りますよね。
これに関するチケットはあがっているので今後改善はあるかもしれません。
取り敢えず現時点での解決を試みたいと思います。

解決その1

RSA以外のアルゴリズムを使う
RSA以外の暗号化アルゴリズムは

  • ECDSA
  • Ed25519(おすすめ)

とかがあるので鍵を生成するときにこれらを指定する方法です。

ECDSA
ssh-keygen -t ecdsa
Ed25519
ssh-keygen -t ed25519

専門家ではないので割愛しますが、鍵の適切なbit長は安全性や処理負荷の観点から色々いい長さがあるみたいです。

AWSではRSAとEd25519の2種類が選べるので、EC2でUbuntu22.04をたてるときはEd25519のキーペアを選ぶようにすると、良さそうです。

TeraTermでの接続方法はRSA鍵のときと同じです。
image.png

解決その2

sshの設定でssh-rsaを許可する。
これはあまり推奨される方法ではないですが、一応可能です。

CommandPromptやPowerShellなどでまずはアクセスをして/etc/ssh/sshd_configに下記の設定を追記します。

/etc/ssh/sshd_config
PubkeyAcceptedAlgorithms=+ssh-rsa

これでsshdをリスタートします。

sudo systemctl restart sshd

これでTeraTermからでもRSA鍵を用いてUbuntu22.04に接続できるようになります。

4
3
0

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
3