実際に設定してみよう!

05.08.10 / SSHって何? / Author:

まず秘密鍵と公開鍵をつくりましょう!

$ ssh-keygen -t rsa

すると、このように言われます。

Generating public/private rsa key pair.

Enter file in which to save the key (/home/usako/.ssh/id_rsa):

鍵の保存場所を聞かれているので、そのままENTERを押します。

つぎに、パスフレーズをつくります。

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

パスフレーズは秘密鍵を使うためのパスワードのようなものでしたよね。

公開鍵方式では復号化のためには秘密鍵を持っていること&パスフレーズを知っていることを必要とします。

Your identification has been saved in /home/usako/.ssh/id_rsa.

Your public key has been saved in /home/usako/.ssh/id_rsa.pub.

The key fingerprint is:

c3:09:db:b2:6f:f2:c7:52:e7:65:ca:c6:39:d4:a0:8d usako@usako-usagi.local

このようにでれば、公開鍵と秘密鍵の作成はクリアです!

本当にできているのか確認しましょう。

$ ls -la ~/.sshと入力して、

-rw——-   1 usako  usagi  1743  8  4 14:38 id_rsa

-rw-r–r–   1 usako  usagi  405  8  4 14:38 id_rsa.pub

と出ればOKです!

サーバーに入る前に、つくった公開鍵をサーバーにコピーしましょう。

$ scp id-rsa.pub [サーバー名] : /home/usako/

つぎに、ssh [サーバー名]とパスワード認証でサーバー内に入り、つくった公開鍵をサーバ側に登録しましょう!

公開鍵はサーバ側の~/.ssh/authorized_keysファイルへ登録します。

~/.ssh/authorized_keysは、ユーザーの公開鍵を登録するための設定ファイルです。

まず、サーバー側のホームディレクトリに.sshディレクトリをつくります。

$ mkdir ~/.ssh

$ ls -laをすると、.sshができていることがわかります。

drwxr-xr-x   2 usako wheel  4096 Aug  5 12:20 .ssh

こんな風にでます。

つぎに.sshのパーミッションを変更します。

.sshのパーミッションをユーザーのみ読み書き実行できるにしたいので、

$ chmod 700 ~./sshと入力します。

$ cd .sshで.sshに入り、コピーしておいた公開鍵id_rsa.pubを ~/.ssh/authorized_keysに登録します。

$ cat ../ id_rsa.pubとすると、公開鍵のファイルの中身が見ることができます。

これを~/.ssh/authorized_keysに登録します。

$ cat ../id_rsa.pub >> authorized_keys

そのあと、$ cat authorized_keys と入力すると、$ cat ../id_rsa.pubと同じものがでるはずです。

authorized_keysのパーミッションも変更しましょう!

こんどはユーザーのみ読み書きOKとします。

$ chmod 600 authorized_keys

これでサーバー側に公開鍵が登録できました!

次はユーザー認証の方法をパスワード認証から公開鍵暗号方式に変更します!と言いましょう!

$ cd /etc/ssh/で設定ファイルのある/etc/sshに移動します。

sshdの設定ファイルはsshd_configです。なのでこのファイルを編集しましょう。

$ vi sshd_config

#PubkeyAuthentication yesをPubkeyAuthentication yesに変更(#を削除)

#PasswordAuthentication yesをPasswordAuthentication noに変更(#を削除してyesをnoに)

再起動しましょう!

$ /etc/init.d/sshd restart

Stopping sshd:                                             [  OK  ]

Starting sshd:                                             [  OK  ]

とでればOKです!

もうひとつターミナルをひらいて$ ssh [サーバー名]でサーバーに入ってみましょう!

パスフレーズを聞かれたら設定できている証拠です!

$ ssh-keygen -t rsaで鍵作成

Enter file in which to save the key (/home/usako/.ssh/id_rsa):はそのままenterを押す

Enter passphrase (empty for no passphrase):パスフレーズ入力

Enter same passphrase again:もう一度入力

$ ls -la ~/.sshで鍵ができているか確認

$ scp id-rsa.pub [サーバー名] : /home/usako/でサーバーに公開鍵をコピーする

ここまでで鍵作成完了

ssh [サーバー名]とパスワード認証でサーバー内に入る。

$ mkdir ~/.sshで.sshディレクトリを作成

$ chmod 700 ~./sshで.sshのパーミッションを変更

$ cd .sshで.sshディレクトリに入る

$ cat ../id_rsa.pub >> authorized_keysで公開鍵をauthorized_keysファイルに登録する。

$ chmod 600 authorized_keysでauthorized_keysのパーミッション変更

ここまででサーバー側に公開鍵を登録完了

$ cd /etc/ssh/で/etc/ssh/に移動

$ vi sshd_configでsshdの設定ファイルを編集

#PubkeyAuthentication yesをPubkeyAuthentication yesに変更(#を削除)

#PasswordAuthentication yesをPasswordAuthentication noに変更(yesをnoに)

PasswordAuthentication yesを削除

ここまでで、ユーザー認証の方法をパスワード認証から公開鍵認証に変更

$ /etc/init.d/sshd restartで再起動

もうひとつターミナルを開いて$ ssh [サーバー名]でパスフレーズを聞かれたらOK

Comments: 2

もにょもにょ // 8月 6th, 2010 - 1:45 AM

教科書的には、chmodは属性を数値で設定する解説が
多い(なので2進数展開の説明がセットである)ですが、

こんな設定もOKです。
たとえば、

chmod u+x
これだと、ユーザ所属で実行権限をつけるという意味です。(≒chmod 100)

詳しくは、 man chmodでどうぞ~

aico // 8月 6th, 2010 - 11:11 AM

もにょもにょさん

コメントありがとうございます。
chmod、いろんな使いかたがあるんですねーー^^

Leave a Reply

« | »