2010年5月13日木曜日

sshサーバーに公開鍵暗号でremote loginする



[したいこと・しりたいこと・目標]

SSHの公開鍵認証を設定する
sshサーバーに公開鍵暗号でリモートログインする
公開鍵認証のログインを行う

[環境]


サーバー
Ubuntu Lucid Lynx 10.04

クライアント
Ubuntu Lucid Lynx 10.04



[したこと]


(01)サーバーへパスワード認証でログイン
$ ssh username@ssh.server.ip.address

(02)サーバー上で、.sshディレクトリがあるか確認
$ ls -al | grep ssh

(03)サーバー上に、無ければ作る
$ mkdir ./.ssh


(04)クライアントで作業
rsa鍵を作る、パスワードは覚えておく
$ ssh-keygen -t rsa


(05)出来たか確認
$ ls -al ./.ssh
drwx------  2 krakenbeal krakenbeal 4096 2010-05-13 11:23 .
drwxr-xr-x 47 krakenbeal krakenbeal 4096 2010-05-13 20:29 ..
-rw-r--r--  1 krakenbeal krakenbeal 1743 2010-05-13 11:22 id_rsa
-rw-r--r--  1 krakenbeal krakenbeal  396 2010-05-13 11:22 id_rsa.pub
drwxr-xr-x 47 krakenbeal krakenbeal  884 2010-05-13 20:29 known_hosts




(06)クライアント上の公開鍵を、サーバーにscpでコピーする
$ scp ~/.ssh/id_rsa.pub username@ssh.server.ip.address:id_rsa.pub

(07)サーバ上で作業
サーバ上で、id_rsa.pub を ~/.ssh/authorized_keys に登録する
$ cat id_rsa.pub >> ~/.ssh/authorized_keys

(08)サーバ上で、パーミッションの変更
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

(09)サーバ上で、sshd_configの設定
$ gksu gedit /etc/ssh/ssd_config

## 以下のように、変更する
## 30行めぐらい
## 公開鍵認証を有効にする
PubkeyAuthentication yes

## 38行めぐらい
## ホストベース認証を切る
HostbasedAuthentication no

## 50行めぐらい
## パスワード認証を切る
PasswordAuthentication no

(10)サーバ上で、sshd を再起動する
$ sudo /etc/init.d/ssh restart

(11)確認のため、クライアントからサーバに接続する

$ ssh username@ssh.server.ip.address
フィンガープリントを確認して、yesと入力
RSAの公開鍵を作成した際のパスワードを入力する。

[参考]


公開鍵暗号でのsshリモートログイン - 別館 子子子子子子(ねこのここねこ)
http://d.hatena.ne.jp/riocampos2/20080108/1199802844

OpenSSH 公開鍵認証の設定 - omnioo lab.
http://omnioo.com/omnioolab/ubuntu-910/openssh.php

0 コメント: