TTSSHのssh2秘密鍵ファイル指定時にエラー
To 報告してくださった方
"Teratermマクロから以下の指定を行う" とは、どのようにマクロファイルを実行したのでしょうか。
を試しましたが、私の手元ではどれも再現しませんでした。
'myserver /ssh /2 /auth=publickey /user=username /passwd=password /keyfile=private-key-file' の内容を全部 Tera Term の新規接続ダイアログの Host のところに入力して接続しても同じですか?
起動した画面上では「RSA/DSA/ECDSA/ED25519鍵を使う」のラジオボタンが選択されていますが、「秘密鍵(K)」が無効となっています。
ログインに必要な情報がすべて与えられている(それでログインが成功するかどうかは別です)はずの状態では、ユーザがファイルを指定し直す必要が無いので無効にしているようです。cf. https://osdn.net/projects/ttssh2/svn/view?view=revision&root=ttssh2&revision=2784
To 開発メンバー
で再現しませんでした。みなさんのところでは再現するでしょうか?
このような現象になる条件はあるでしょうか?
SSH Authentication のダイアログにて
Authentication methods で "Use RSA/DSA/ECDSA/ED25519 key to log in" を選び
Private key file の選択ボタンを押して
Choose a file with the RSA/DSA/ESCDSA/ED25519 のファイル選択ダイアログを出した時、
ファイル名「identity」の横のファイル種別?の「identity files」部分が
4.106 だと 各種いろいろあるのに対し、
5. だと identity files しか無いので鍵ファイルを選択することができない、
…ということではないでしょうか?
もしそうだとすると、 5.xxx でもファイル名「identity」を「*.*」にして enter するとファイルが選べるようになるみたいです。
私の環境では「identity files しか無い」は再現しませんでした。
r10638 のスナップショット zip を展開して そのまま ttermpro.exe をダブルクリック実行しています。 何か他にも条件がありそうですね。
beta1 (r10612) で再現せず、teraterm-5.0-dev-r10638-20230313-appveyor.zip で再現しました。
この件は #47602 に移動します。
引数で受けとった秘密鍵ファイル名は OpenFileName() を経由せずにエディットコントロールにセットされ、接続時にエディットコントロールから(Disabledでも)読み取られるため、OpenFileName() のフィルタの件は、秘密鍵でログインできない件との関係は薄いと推測します。
そのまま ttermpro.exe をダブルクリック実行しています。
これは「秘密鍵でのログイン」のことですか?「ttermpro.exe をダブルクリックして、マクロファイルを選択」ですか?
「そのまま ttermpro.exe をダブルクリック実行している」は、「identity files しか無い(画像)」に至る操作の補足のつもりでした。
元投稿の記載の意図がわからず推測でコメントしてしまってすみません。 r9864 では問題なさそうなので、本件とは違いそうですね。
元投稿者さんからの追加情報を待とうと思います。
Teraterm5 alpha/betaで発生します。Teratermマクロから以下の指定を行うと、指定された秘密鍵でのログインができません。
connect 'myserver /ssh /2 /auth=publickey /user=username /passwd=password /keyfile=private-key-file'
起動した画面上では「RSA/DSA/ECDSA/ED25519鍵を使う」のラジオボタンが選択されていますが、「秘密鍵(K)」が無効となっています。 「rhosts(SSH1)を使う」のラジオボタンのオプションのユーザーと鍵が有効化されています(ラジオボタンとオプションの有効状態が矛盾しています)。 ラジオボタンを選択しなおすとオプションの矛盾は解決し、鍵の指定を新たに出来ますが、マクロは「RSA/DSA/ECDSA/ED25519秘密鍵の含まれるファイルを指定してください」というTTSSHのエラーで止まってしまいます。 Teraterm4では動作するため、TTSSHのバグかと思われます。