菊池@春日部です。 J.Saotomeさんの<4.3.2-J.20021024030311.00dc4820@xxxxxxxxxxxxxx>から > サオトメと申します。 > > このMLで紹介されていた、PuTTYjpを使ってSSH2で接続しようと > しているのですが、"Server refused our key"と表示されて認証鍵 > を受け取ってもらえません。 僕も使い始めに、これで少し悩みました。 > やったこと > > ・クライアントマシーンでputtygenを使用し、DSA 1024ビットで > パスフレーズを入力してpublic keyとprivate keyを作成。 まずここなのですが、openssh はデフォルトの ServerKeyBits が 768 ビットなので、puttygen でも 768 ビットで鍵を作らないと ダメなようです。 # 無論、ServerKey を 1024 ビットで作り直せば大丈夫なのでしょうけど。 > ・public keyをホストマシーンにftpでputし、ログインするユーザの > ホームディレクトリの.sshディレクトリで、 > cat id_dsa.pub > authorized_keys2 > chmod 600 authorized_keys2 > を実行。 # 僕は SSH v2 DSA 認証しか使わないつもりで PuTTY を導入したので、 # authorized_keys2ではなく、単に authorized_keys です(公開鍵なので # パーミッションも 644だったりします。無論秘密鍵は 600 )。 で、公開鍵なのですが、puttygen.exe で生成・保存したファイルは、openssh では使えないです。 「 Public key for pasting into OpenSSH authrized_keys2 file: 」 と出ているボックス内の文字列をコピーし、ホストの ~/.ssh 以下で vi 等を使ってペーストし、authorized_keys2 として保存します。 この文字列が openssh 用の公開鍵です。 # コピぺ出来ない状態でしたら、一度メモ帳にでも貼り付けて保存し、 # FD でホストに持っていくのが正解 :-) # SSH の鍵を、ネットワーク上に流すことはなるべく避けましょう。 > ・クライアントマシーンからPuTTYjpで"認証のためのプライベートキーファイル" > に作成したprivate keyを指定しホストへ接続。 > > opensshのバージョンは > > rpm -q openssh > openssh-3.4p1-0vl2 こちらも同じ、openssh-3.4p1-0vl2 です。 > /etc/ssh/sshd_configはこうなっています。 > > ----------------------------------------------- > #Port 22 > #Protocol 2,1 ここは、Protocol 2 にしてしまうのをお勧めします( 1 は使わない)。 > # HostKey for protocol version 1 > #HostKey /etc/ssh/ssh_host_key > # HostKeys for protocol version 2 > #HostKey /etc/ssh/ssh_host_rsa_key > #HostKey /etc/ssh/ssh_host_dsa_key DSA 認証しか使わないなら、 HostKey /etc/ssh/ssh_host_dsa_key でいいと思います。 > # Lifetime and size of ephemeral version 1 server key > #KeyRegenerationInterval 3600 > #ServerKeyBits 768 一応、ここ、コメントアウトをはずしています。 ServerKeyBits 768 1024 ビットの鍵を使いたいなら変更すればいいかと。 # ただ、ホスト鍵も作り直さないといけないのかな? -以下略- これでうまくいかないでしょうか? -- 菊池順一 <maxi@xxxxxxxxxxxxx>