- ベストアンサー
SSH通信で秘密鍵の読み込みが失敗
- クライアントコンピュータとサーバー間でSSH通信を行いたいが、秘密鍵の読み込みが失敗している。
- クライアントのTeraTermで秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成し、公開鍵をサーバーに転送したが、SSH2秘密鍵の読み込みに失敗するメッセージが表示される。
- クライアント~サーバー間でSSH通信を行うためには、秘密鍵と公開鍵の設定、ファイルの保存場所、アクセス権の設定を確認する必要がある。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>4. 一般ユーザのホームディレクトリ配下に/.ssh/authorized_keysディレクトリを追加 >(cat id_rsa.pub > /home/user/.ssh/authorized_keys) ディレクトリじゃなくてファイルなんですが…。 書かれたコマンドでは正しいみたいですから大丈夫…かな? # ちなみに、既存の公開鍵が登録されている場合を考慮するならば、リダイレクトは # > /home/user/.ssh/authorized_keys ではなく # >> /home/user/.ssh/authorized_keys として「追記」にすべきかと。 # まぁ、私はviと端末の機能でペーストして追加していますが。 # telnetなり、パスワード認証のssh接続なり、別の公開鍵認証でのssh接続だったりで接続済みの状態からなので。 >クライアントのTeraTermを使って秘密鍵でアクセスしようとしたところ、 >「SSH2秘密鍵の読み込みに失敗しました」という添付画像のような >メッセージが出ます。 画像つぶれててエラーメッセージは判別できませんが… 「"SSH2秘密鍵の読み込みに失敗しました" ttssh」で検索するといくつか出てきますね。 PuTTYで作成した秘密鍵ファイルを指定している。 ってのがあったりしますが、今回はTeraTermで作成しているので該当しませんね。 あとは…パスフレーズが間違っている。とかですかね。 # 適当に秘密鍵作って、パスフレーズを"Test"に設定、自宅サーバへの接続で鍵認証にしてパスフレーズに"aa"と入力すると、error:06065064で出ましたね。 過去の回答例ではパスフレーズとログインパスワードを同じにしたら…なんてのがありましたが…本質的には関係ないはずです。 # パスフレーズは秘密鍵の解読に必要なので接続先ホストに登録してあるパスワードが云々の前段階でしかないので。 # 実際、ウチで動いているサーバの1つがそういうパスフレーズになっていたりします。 ということで、パスフレーズの入力間違いがないかもう一度よく確認して下さい。 # TeraTermで秘密鍵のパスフレーズ変更ってどうやるんだろう? # 普段はPoderosa使いなのでよくわからん。まぁ困ってないからいいけど。 あとは…秘密鍵ファイルが壊れたとか、OSの何らかの制限によりアクセスが禁止された…とか。 # 書き出せたならそんなことはないと思いますが、書き出したファイルを移動なりさせた…ということだと、もしかしたらNTFSのアクセス権関係で問題が出る場合もあるかも知れません。 # 自分のユーザのドキュメントフォルダとかに置くことをお勧めしますね。
お礼
Wr5さま コメントありがとうございます。 公開鍵や秘密鍵を 作り直してイチから設定したら 通信できるようになりました! アドバイスの内容からして、 自分のやっていることは SSH通信を行うために、 そう間違いではなかったと思います。 ご指摘の通り、パスフレーズかなんかが 間違えていたのかもしれません。