

ただの忘備録。
Conoha(VPS)を使って、Railsの勉強を始めようとした時に起きた悲劇。
ssh認証を行う(OpenSSHと使う)際に、公開鍵と秘密鍵を生成するわけですが、Linux側で鍵の生成をした後、あろうことか、秘密鍵の内容をcatコマンドで閲覧、コピペして、Windowsで新規ファイルを作り、そこに貼り付けしていたため、
ssh認証の際、デバッグにて、
invalid format(無効な形式)
と言われてしまいました。
(グーグルにおける「invalid format」系のエラーの情報が少なかったのも、ミスを解決できない要因になっていました)
(「invalid format」という警告文は「ssh -v」を使用しないと確認できません。また、SSH通信に失敗すると、パスワード認証にグレードダウンさせられます。鍵認証でやっているのにパスワードを聞かれてしまうのは、鍵認証の失敗が原因となります)
SSH通信に失敗することをLinuxのパーミッション、もしくは、Windowsのパーミッションのせいだと考えていたのがミスの原因ですかね……(この手のものは、基本パーミションを疑うので)。
※ Windows側(ローカル)の場合、フォルダと秘密鍵のパーミッションをいじらなくても基本つながります(不安ならWindows以外で通信を試してみるのも良いかも)。
Windowsで新規ファイルを作って文字を移動したりすると、ファイル形式(フォーマット形式)が変わってしまっていたりするので「invalid format」になる可能性があります。
対策としては、素直に「scp」コマンドで、秘密鍵をLinuxからローカルホストに直接移動すればいいだけです。はい。
(変にいじらなければよかった……泣)
SSH認証でミスったらパーミッションを疑え、というのは事実だと思いますが、それと同時に、ローカルとリモートホストのエラーログをしっかり確認することも大事だと学ばされました。
以上です。私と同じような失敗をした方の参考になれば幸いです。










