Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【解決】「Tera Term」(5.2)で、Ubuntu(24.04)の時だけ「ED25519」公開鍵認証でログインできない→公開鍵の置き先を間違っていた。。

(24.6.7 14:30 解決と顛末追記)

ご協力ありがとうございました!
解決いたしまして、
「Ubuntu 24.04」へ「ED25519」公開鍵認証で、
SSHクライアントは「Tera Term 5.2」でも「Windows10Pro(22H2)標準OpenSSHクライアント」でも、ログインできるようになりました!

【理由】
・・・しょぼ過ぎるのですが、、聞いていただけますか。。
「アクセスしているIPアドレスを間違えていた」です。。

解決したいこと

  • Ubuntu(22.04 LTS 24.04 LTS)に「Tera Term」で「ED25519」公開鍵認証ログインしたい。

発生している問題・エラー

[ログインに失敗する組み合わせ]

  • サーバー
    • Ubuntu(22.04、 24.04) ※WebARENA Indigo

  • SSHクライアント
    • Tera Term 4.106
    • Tera Term 5.2
    • Windows10Pro(22H2)標準OpenSSHクライアント ←(24.6.6 17:30 追記)

自分で試したこと

[ログインに成功する組み合わせ]

  • サーバー
    • Ubuntu(22.04 、24.04) ※WebARENA Indigo

  • SSHクライアント
    • Windows10Pro(22H2)標準OpenSSHクライアント
    • RLogin(x64) Version 2.29.0
    • Tera Term 5.2 ←(24.6.6 17:30 追記)

例:Windows10Pro(22H2)標準OpenSSHクライアント

@echo off

cd %~dp0

SET SSHPRVKEY=ssh\id_ed25519
SET ID={ユーザー名}
SET PWD={パスワード}
SET IPADDR={サーバーアドレス}
SET PORT=22

ssh -i %~dp0%SSHPRVKEY% %ID%:%PWD%@%IPADDR%

pause

  • Tera Termから「AlmaLinux(8.6)」への「ED25519」公開鍵認証ログインは可能。

以上です。
よろしくお願いします。

0

5Answer

Comments

  1. @hiro-matsumoto

    Questioner

    エラーの様子はこのようでした。

    $ sudo journalctl -f /usr/sbin/sshd
    
    Jun 06 06:09:35 i-00000000000000 sshd[20469]: Server listening on :: port 22.
    Jun 06 06:19:54 i-00000000000000 sshd[20812]: Received disconnect from [クライアント側IPアドレス] port 62024:11: authentication cancelled [preauth]
    Jun 06 06:19:54 i-00000000000000 sshd[20812]: Disconnected from authenticating user [ユーザ名] [クライアント側IPアドレス] port 62024 [preauth]
    Jun 06 06:25:35 i-00000000000000 sshd[20845]: Received disconnect from [クライアント側IPアドレス] port 62028:11: authentication cancelled [preauth]
    Jun 06 06:25:35 i-00000000000000 sshd[20845]: Disconnected from authenticating user [ユーザ名] [クライアント側IPアドレス] port 62028 [preauth]
    

    (TeraTerm5.2からED25519鍵でUbuntu24.04へ接続の様子)
    TeraTerm5.2からED25519鍵でUbuntu24.04へ接続の様子.gif
    このように、TeraTerm 5.2では接続動作させているのですが、Ubuntu24.04サーバのJournalログにはほとんど記録されず、何回か操作していると時々Disconnectedだけが記録されていました。

    次に(結局接続成功していた)Ubuntu22.04の認証鍵とハッシュ値を比較してみました。
    ※この運用としては、元々同じ鍵を使っているはずなのです。
    鍵のHASH値比較.png
    結果、それぞれで利用している鍵は同じだったので、鍵の相違で接続できない訳ではないのでした。

  2. ただの推測だけど、クライアントとサーバのバージョンの違いな気がするなー。

    原因の究明にはならないけど、WindowsのOpenSSHのバージョンを上げれば解決するかも。

Windows10Pro(22H2)標準OpenSSHクライアントで、公開鍵認証ログインは可能なのでしょうか?

ssh %ID%@%IPADDR%

1Like

Comments

  1. @hiro-matsumoto

    Questioner

    すいません、別途追記のとおり、
    事象が発生するのが「Ubuntu 24.04」だけでして、
    その場合SSHクライアントからの「ED25519」公開鍵認証は、
    「Windows10Pro(22H2)標準OpenSSHクライアント」でも「Tera Term 5.2」でも失敗しました。

    なお、Ubuntu22.04等では、Windows10Pro(22H2)標準OpenSSHクライアントで、公開鍵認証ログインは可能でして、
    冒頭の申告時に書いた内容からその部分だけ抜粋しますと、このようなコマンド構文です。
    ssh -i %~dp0%SSHPRVKEY% %ID%:%PWD%@%IPADDR%

    [補足]
    再び私の勘違いでなければ、Ubuntu22.04では、「Tera Term 4.106」利用時に「ED25519」公開鍵認証接続ができずに困った過程で、
    「Windows10Pro(22H2)標準OpenSSHクライアント」や「RLogin(x64) Version 2.29.0」を使い始めたのです。
    ⇒そうでなければTera Termを使い続けたかったのです。

    1. 同じクライアントとから公開鍵認証によるssh接続が、Ubuntu 22.04 へはできて、Ubuntu 24.04 へはできない、ということであれば、サーバ側の要因が疑われます。
      各サーバの~./ssh配下のファイルの内容に差が無いか確認してみてはどうですか。
       

    2. ssh コマンドに -v オプション(Verbose mode)を付けて、Ubuntu 24.04 へ接続した時に出力されるログを見ると、もう少し詳しい情報が得られるかもしれません。
      また、Ubuntu 22.04 へ接続した時のログと見比べるのもよいかも知れません。

Comments

  1. @hiro-matsumoto

    Questioner

    RSAが非推奨(例:Qiita記事より)になってからは、すっかり「ED25519」に切り替えていたので、あえてRSAでは試していませんが、

    例えば、今回使っているWebARENAのLinuxインスタンスへの初回ログインは全てRSAなので、次の手順に従って「Windows10Pro(22H2)標準OpenSSHクライアント」ではRSAで接続できています。

    (WebARENA Indigo)Tera TermでインスタンスへSSH接続/ログインができません。

    ※このFAQにある通りTeraTermにも癖はあるよな、の思い。
    ※なおこれはVPSサービスが用意しているアカウントとRSA鍵の組み合わせのため、その後に私が自前で作ったアカウントにED25519鍵を置く作業とsshd_confの編集があるので、違いがあると言えば違いますが。
    ※ECDSAについては全く試したことがありません。

  2. 非推奨になったのは鍵長の短いもので、、、というのはさておいて

    現在使用している ~/.ssh/authorized_keys に設定された ED25519 以外の鍵で認証できるかどうかが知りたい内容です。

    これはVPSサービスが用意しているアカウントとRSA鍵の組み合わせのため、その後に私が自前で作ったアカウントにED25519鍵を置く作業とsshd_confの編集

    つまり、RSAで接続できたとしてもそれは別アカウントの話で、同じ authorized_keys に設定された別の鍵で認証できているというわけではない = 鍵の種別の問題とは限らない

    ということです。

    鍵方式によて問題があるのであればもっと大騒ぎになっているはずなので設置方法(ディレクトリ、ファイル名、中身、パーミッション)と呼び出し方あたりを一つ一つ確認していくのが良いと思います。

みなさま:@midoribi @nak435 @shigeokamoto

ご協力ありがとうございました!
解決いたしまして、
「Ubuntu 24.04」へ「ED25519」公開鍵認証で、
SSHクライアントは「Tera Term 5.2」でも「Windows10Pro(22H2)標準OpenSSHクライアント」でも、ログインできるようになりました!

【理由】
・・・しょぼ過ぎるのですが、、聞いていただけますか。。
「アクセスしているIPアドレスを間違えていた」です。。

「ED25519」公開鍵をサーバに配置する工程にて、
最初は「パスワード認証」でアクセスしています。

その際「SSHコンソール」と別に「WinSCP」を使っていたのですが、
その「WinSCP」のアクセスするサーバIPアドレスを変え忘れていました。。

従って、「ED25519」公開鍵そのものが配置できておらず、
「ED25519」公開鍵の存在確認に再び同じ「WinSCP」を使ってしまったので、
違うサーバの公開鍵の存在を確認していただけで、
そもそも該当のサーバには公開鍵が配置されていませんでした。

【反省点】
先の、RSA(2048ビット以下)非推奨の動きのあたりで、
Tera Termでは、しばらく「ED25519」対応していなかったりで、
SSHクライアント側に何等かの不都合があるのでは?という思い込みがありました。
この度、Tera Termのv5系最新の5.2とUbubntu最新の24.04での接続を確認できたことで、
これからはしばらく接続性の課題は考えずに利用できると思いました。

失礼いたしました。
ありがとうございました。

1Like

@midoribi さん、@nak435 さん、
および各位

ご確認ありがとうございます。

まず!すいません。。
エラーログを取得すべく、改めて確認しておりましたところ、、

事象が発生するのが「Ubuntu 24.04」だけでして、
その場合SSHクライアントからの「ED25519」公開鍵認証は、
「Windows10Pro(22H2)標準OpenSSHクライアント」でも「Tera Term 5.2」でも失敗しました。

※Win10のSSHクライアントの場合、公開鍵認証失敗の後(Ubuntuサーバ側でパスワード認証を許可していることから)シームレスにキーボートインタラクティブに移行するので、失敗していることに気が付いていませんでした。

※「Ubuntu 22.04」は「Windows10Pro(22H2)標準OpenSSHクライアント」でも「Tera Term 5.2」でも「ED25519」公開鍵認証ログインに成功しました。

しかし、単に私の勘違いでは無く、
やはり「Ubuntu 24.04」の「ED25519」公開鍵認証接続に課題があるようで、
取得したログなどは、この後ご提供します。

⇒まずは最初の申告内容の誤りについてお詫びします。
※最初の申告も後ほど訂正入れます。

0Like

Your answer might help someone💌