◆環境
接続元:windows 10 Home
接続先:VPSにインストールしているCentOS
以下のエラーを検知
SSH2秘密鍵の読み込みに失敗しました
error:0909006C:PEM:PEM routine:get_name:no start line
■ネットの解消法として
秘密鍵の"-----END OPENSSH PRIVATE KEY-----"の後に改行を入れることで解消できるとネットに記載があったが、解消せず。。
そのほかパーミッションやsshd_configの編集、.ssh/authorized_keysへのファイル追記を行っても上記のエラーが出てくるもの。
解消しないので、新しくTeratermから公開鍵を作成
⇒なぜか同様のエラー出力
■VPSの中で鍵を生成し、TeratermからWindowsフォルダへ鍵渡す作戦
⇒通常と逆のやり方で実施
一般ユーザーにて下記コマンド実施
$ ssh-keygen -t rsa
すべてEnterで実行
$ cd .ssh/
$ ll
-rw------- 1 user user 2602 Oct 27 18:45 id_rsa
-rw-r--r-- 1 user user 573 Oct 27 18:45 id_rsa.pub
$ cat id_rsa.pub > authorized_keys
TeratermからWindowsの個人フォルダへSSHSCP転送するも「認証に失敗しました」とのエラーが出力。
ここでエラーが変わったのはうれしいことですが、
いまだにログインできないのはなにか理由がある気がします。
エラーログを確認し、下記新しいエラーを検知
sshd[123302]: reprocess config line 133: Deprecated option RSAAuthentication
sshd_configにRSAAuthenticationを追加はしたけど、、
調べてみるとこのエラーは「RSAAuthenticationが非推奨(deprecated)だ、と指摘されているもの。
RSAAuthentication は SSH バージョン1のRSAのため、現在では危殆化しているため通常は使われない。」とのこと。
早速noへ変更し、プロセス再起動実施。
またもやログインできなかったので、
/var/log/secureを確認と同時にsshd_configのログレベルをデバックへ変更設定。
sshd[123225]:Received signal 15; terminating.
sshd[123313]:Received disconnect from XX.XX.XX.XX port 55781:11: authentication cancelled [preauth]
sshd[123334]:Failed publickey for user from XX.XX.XX.XX port 55941 ssh2: RSA 鍵内容
認証系で失敗しているのか??
調べてもパーミッションなど修正などしかでてこない
確認してもパーミッションも記載の書き方と同様。。
⇒どうやらこのエラーは「サーバ上のホスト秘密鍵の権限が間違っている可能性がある」エラーらしく、早速思いついたのが、Windows側に保存してある秘密鍵のパーミッションってどうなっているんだ?
いずれの結果もできないため、いろいろ調べた結果
WindowsにインストールしたTeratermからでは鍵の作成ができないため、PowerShellから鍵作成を行い、設定ができましたのでこちらをご参照ください。