!!!技術的雑談-PuTTY-keygenでパスワード無しログイン !!環境 *クライアント:WindowsXPsp2 + PuTTY0.53(日本語パッチ版) *サーバ:とりあえずRedHat Linux Enterprise Edition(多分OpenSSH2が動いているサーバなら何でもいい) !!やりたいこと PuTTYでいつもサーバにログインしているが、ユーザ名・パスワードを打ち込むのがめんどくさい。 ついでに、ショルダークラックされたらイヤ。 !!対処 SSH公開鍵認証使いましょう。 PuTTY付属(?)のputtygen.exeでSSHの公開鍵を作れます。 大体puttygen.exeでGoogleさんに聞けばやり方は書いてあると思いますが、陥りやすい罠をさらしておきます。 !公開鍵の置き方 puttygen.exeで鍵ペアを作ると、非標準な形式でキーファイルが作られます。 ~/.ssh/authorized_keysに書き込む公開鍵の形式は1行ですが、puttygen.exeの公開鍵は複数行に改行されています。 書き込む際は'''行の先頭に「ssh-ras」と半角スペースを1つあけて、'''puttygen.exeで作った公開鍵ファイルの内容を1行にまとめて書き込みます。 つまり ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "hogehoge" xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz qqqqqq== ---- END SSH2 PUBLIC KEY ---- と、なっているファイルを、 ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqq== hogehoge と、変換して書き込めばOK。 ちなみに、~/.sshのパーミッションは'''700'''にしておかないとsshdに無視されます。 !PuTTY側の設定 New Sessionのダイアログの設定で、 *Connection→Dataの「Auto-Login username」にUNIXユーザ名を入力 *Connection→SSHのプロトコルを「2 Only」にしておく(少なくともSSH2が選ばれるように) *Connection→SSH→Authの「private key file for authentication」の欄にputtygen.exeで作った'''秘密鍵'''ファイルを設定。 これをやらないと自動ログインにならない。 特にユーザ名の設定を忘れると数時間頭をひねることになる。 !pagent.exe これもPuTTY付属。 秘密鍵を食わせておくと、勝手にPuTTY上の認証をしてくれる。 タスクトレイに常駐します。 秘密鍵(.ppk)のダブルクリックでも起動します。 !!履歴 2005/10/18 -- 初版 [[技術的雑談]]へ戻る !!突っ込み {{comment}} [[技術的雑談]]へ戻る {{trackback}} [[技術的雑談]]へ戻る