さくらのレンタルサーバに公開鍵認証で入れなくなったので鍵を更新した
この間、突然さくらのレンタルサーバへのSSHでのログインでサーバのパスワードを要求されるようになりました。それまでは公開鍵認証で公開鍵への簡単なパスワードで入れていたのに。サーバのパスワードはランダム生成したものなので覚えられません。困りました。しかたがないので時間をとって問題解決です。
いろいろぐぐってみた結果、"ssh -v"でログを見ればよさそうです。そこで"ssh -v | less"を実行したらログが流れていってしまう。stderrか。実はパイプの操作は順番が大事というのまでは知っているけど、詳しくは知らないんですよね。でも適当に試した、"ssh -v | less 2>&1"で一発OKでした。毎回これで困らないから理解できないんですよね。
読んでいくと「known_hosts2: No such file or directory」というのがあったので、これかと思ったんですが、どうやら関係ないもよう。とっくに廃止されているみたいです。
さらに読み進めていくと"no mutual signature algorithm"とあって、昔に作った鍵なので、最近はRSA暗号は古くて使われなくなったのでサポートが切れてしまったのかと思いました。ということで新しい鍵の作成です。
またまたぐぐってみると、どうやらed25519というのが最新のようです。しかし、作って試してみるも、やはりパスワードを要求されます。うまくいっていないようだけど、どううまくいっていないのかがわからない。どうやら"-v"オプションだと詳しく出さないようで、"-vvv"というオプションで詳細なログが出てくるようです。そのログを見ていくとtype 51というのが返ってきています。どうやら、これは失敗を表すコードのようです。なんで失敗しているのかはサーバのログを見ろとぐぐると出てくるのですが、レンタルサーバなので見ることができません。
「あー、もうだめだ」と思ったのですが、いちおうecdsaのほうも試しておくかとやってみたらとおりました。最初に見たSSH Academyに「新しいアルゴリズムだから対応していないクライアントもあるかもね」と書いてありました。推測ですが、新しいアルゴリズムなのでサーバで対応していなかったようでした。しばらくパスワードを打ち続けないといけないはめになるのかと思いましたが、なんとかなりました。
そういえば、ぐぐるとサーバに鍵を上げるのにscpを使えというページが多いのですが、ssh-copy-idというのを使うととても楽でした。
コメント
コメントを投稿