SSH用公開鍵暗号キー

つくる事になって調べた*1のだが、複数当たっても「linuxで作ってwindowsで取り込む*2」「windowsで作ってlinuxで変換する*3」という感じで必ずプラットフォームを跨って作業する必要があるものしか出てこない。


よく考えると、「SSHで接続するサーバー」がある以上、どちらかで完結する必要がないという事なのかもしれないのだが…Windows機で作ってlinuxレンタルサーバーに入れる必要がある(しかも公開鍵がないとSSHは繋がらない)という場合にちょっと困る。

まぁ、レンタルサーバー屋のサポートの手を煩わせればよいわけだが。



と思いつつ、手近なlinux実験機でキーを作成した(笑)



で、設置して接続しようとすると…wrong keyがでて弾かれる?

しばらく試行錯誤した結果……実はkeyが悪いのではなく優先するsshバージョンの設定が1になっていたのが問題である事が判明。単にエラーメッセージが不適当だったわけだ。かなり時間を無駄にした。*4


手作業でサーバー設置用のファイルを作る必要があるが、PuTTYのputtygenで秘密鍵を作って、画面に表示される公開鍵データをauthorized_keysに貼るというのがWindowsで完結する作成法なのか。(なぜか手元のバージョンにはこの鍵をファイルとして書き出すコマンドはない。複数の鍵を登録する場合を考えれば、新しくauthorized_keysファイルを作ってしまうのは危険だからだろうか。)

*1:確か昔やってみた事があるし、今も手元にそのときにつくったセット(実験用linuxサーバーへの接続用)が残っているのだが、完全にやり方を忘れた

*2:@IT:Linuxでsshの鍵を作成するには

*3:ssh-keygenで変換操作を行う。

*4:これが面倒だからssh 1を使う事が多いのかもしれない…。とはいえ、明らかにssh 1は古いよなぁ。あと、ひょっとするとファイル名をauthorized_keys2にするべきだったのだろうか?と思って調べてみるが、manページの情報にはauthorized_keysにおけとしか書いていない。うしろの2はSSH2の2ではないのか。