認証鍵のメモ

なんか前 putty から サーバへ秘密鍵で認証したいと思って試したとき、
うまくいかなかったけど、今回はうまくいったのでメモ。


user を admin として仮定。


LinuxLinux の場合

local (Linux)
mkdir ~/.ssh
cd ~/.ssh/
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub admin@{ サーバの IP }:
Server
mkdir ~/.ssh
mv ~/id_rsa.pub ~/.ssh/authorized_keys
chown -R admin:admin ~/.ssh/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
ssh admin@{ サーバの IP } 


でログイン可能。


Putty(Windows) → Linux の場合

local (Windows)


puttygen をたちあげる

    1. 生成
    2. 鍵のパスフレーズを入力(あとで使うので覚えとく)
    3. 秘密鍵を id_rsa.ppk という名前で保存
    4. 公開鍵を id_rsa.pub という名前で保存
    5. 任意の場所に id_rsa.ppk を保存 (ex: D:\PUTTY_KEY)
Server
mkdir ~/.ssh 
touch ~/.ssh/authorized_keys 
chown -R admin:admin ~/.ssh/ 
chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys


↑を一気に貼り付けて実行(Server に .ssh がないとして)

cat >> ~/.ssh/authorized_keys


で、PuTTY 鍵生成のところの、
「OpenSSHのauthorized_keysファイルにペーストするための公開鍵」
をコピって貼り付け。改行して、ctrl + d。

cat ~/.ssh/authorized_keys


↑でうまくいってるか確認

local (Windows)


putty を立ち上げる


SSH->認証->認証のためのプライベートファイルにさっき作って保存した
D:\PUTTY_KEY\id_rsa.ppk
を指定

Using username "admin".
Authenticating with public key "rsa-key-20081220"
Passphrase for key "rsa-key-20081220":


puttygen で利用した鍵のパスフレーズを入力


ログインできた。


鍵のパスフレーズ を入力するのが面倒。
pageant を立ち上げて鍵の追加をクリックして、
鍵のパスフレーズを入力する。


先と同じようにログインしようとすると
次の鍵への照会を許可しますか?と聞かれ、yes にすると
鍵のパスフレーズ なしでログインできる。



認証を公開鍵暗号に限定する場合

sudo cp -pc /etc/ssh/sshd_config{,.orig}
sudo vi /etc/ssh/sshd_config
// パスワード認証を許可しない
-PasswordAuthentication yes
+PasswordAuthentication no
sudo /sbin/service sshd reload
追記 081227

pageant のショートカットを作成する。
リンク先を


"C:\Program Files\PuTTY\pageant.exe" "D:\PUTTY_KEY\id_rsa.ppk" "D:\PUTTY_KEY\id_rsa2.ppk"


のようにする。
そのショートカットをスタートアップにそのまま登録する。
そうすると、次回から鍵の追加が必要なくなる。