[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1059) [Server] SSHの公開鍵認証



え? SSHでUnixパスワード使ってるの?
と先生におこられてしまったので、ちょっとやり方のメモ。

●参考にしたところ
http://www.j.dendai.ac.jp/~fujimoto/system/publickey.html

●ローカル側ですること
cd ~/
mkdir .ssh  #あればよろしい。
ssh-keygen -b 1024 -t rsa  #RAS鍵の生成。保存場所はリターンで。パスワードをタイプ。さらにもういちど。空パスワードとかにしたらダメだよ^^
ssh-keygen -b 1024 -t dsa  #上と同様に。
cd .ssh
touch authorized_keys  #「authorized_keys」ってファイルを作成
chmod 600 authorized_keys
cat ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized_keys  #秘密鍵じゃない方。注意
cat ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys  #秘密鍵じゃない方。注意
#「authorized_keys」には、rsaとdsaが含まれていることを確認。
#~/.sshは以下のようになっているはず。
ls -al ~/.ssh
drwx------   8 show  show   272  1 Mar 23:44 .
drwxr-xr-x  36 show  show  1224 10 Feb 22:36 ..
-rw-------   1 show  show   842  1 Mar 23:46 authorized_keys
-rw-------   1 show  show   736  1 Mar 23:43 id_dsa
-rw-r--r--   1 show  show   611  1 Mar 23:43 id_dsa.pub
-rw-------   1 show  show   951  1 Mar 23:42 id_rsa
-rw-r--r--   1 show  show   231  1 Mar 23:42 id_rsa.pub
-rw-r--r--   1 show  show  1778 13 Dec 22:49 known_hosts

これで公開鍵「authorized_keys」のできあがり。
LAN内ならFTPでもいいし、慎重を期すならフロッピーとかでリモート側へもってくる。
リモート側の(入るべきユーザーの)~/.sshに入れておく。

●リモート側(sshd_configの設定)
#書き換えの要点
PermitRootLogin no          # root によるログインを禁止する
RSAAuthentication yes       # RSA による認証を許可する
PasswordAuthentication no   # UNIXパスワードによる認証を禁止する
PubkeyAuthenication yes      #  PubkeyAuthentication (公開鍵認証)
             公開鍵認証を許可するかどうか指定します。デフォルトは ``yes'' です。このオプションはプロトコル バージョン 2 にのみ適用されることに注意してください。