鍵認証〜公開鍵の登録とsshd_configの設定
※スペルミス修正(2011,03,28):2カ所記述ミスがありました。authorizes_keys→authorized_keys
※以下は、リンク先も含めて、RSA鍵(ssh version2)で鍵を作って設定をするやり方です。
●以下のメモで言うところの、「sshで接続する側(個人PC、クライアント側)で鍵ペアを作って、リモートーホスト側(ssh接続される側)に公開鍵を送る」パターンの設定です。
http://d.hatena.ne.jp/midori_kasugano/20100125/1264424662
●鍵ペアの作り方は、以下を参照してください。
http://d.hatena.ne.jp/midori_kasugano/20091216/1260969466
■概要 ◎公開鍵を~/.ssh/authorized_keysに置き、パーミッションを700 or 600にする。 → 詳細の(1) ◎sshd_configの設定をし、sshdをrestart → 詳細の(2)〜(4) ■いるもの ◎root権限
■詳細 (1)鍵ペアを作って公開鍵をリモートホスト側(ssh接続される側)に送り、~/.ssh配下にauthorized_keysというファイル名にして保存する。 shell> scp id_rsa.pub ユーザー名@119.15.XX.XXX:~/ ↑119.15.XX.XXXに指定したユーザー名で接続し、指定したユーザー名のホームディレクトリに公開鍵を送る。 shell> cd ~/ ↑ホームディレクトリに移動 shell> cp id_rsa.pub ~/.ssh/authorized_keys ↑公開鍵をauthorized_keysというファイル名にして保存する ※ホームディレクトリ配下に.sshというディレクトリがなければ、mkdirで作ってください。 shell> rm id_rsa.pub ↑scpした公開鍵を削除 (2)sshd_configの設定 shell> sudo su - ↑rootに変身 shell> cd /etc/ssh ↑sshd_configがあるディレクトリに移動 ※以下、書き換え処理をする前に、下記の例のようにバックアップを取っておきましょう! (shell> cp sshd_config sshd_config_default) shell> vim sshd_config ↑エディタでsshd_configを開く (3)sshd_config書き換え (以下の部分のコメントアウトをはずします。yes, noの部分は以下のように書き換えてください。) ◎以下の部分で、公開鍵認証だけのsshログインにします。 PubkeyAuthentication yes →公開鍵認証を許可(ssh2のみ) AuthorizedKeysFile .ssh/authorized_keys →公開鍵の場所を指定 PasswordAuthentication no →パスワードでのログインを禁止(鍵方式でのみログイン許可) ◎ついでに以下の設定もしておきましょう。 PermitRootLogin no →rootでのログインを禁止 PermiyEmptyPasswords no →パスワードなしのログインを許可しない AllowUsers ユーザー名1 ユーザー名2 →ログインできるユーザーを限定する ※AllowUsersがない場合は、ファイルの最後にでも書き加えてください。ユーザー名は、半角スペースで区切ることで、何人でも追加できます。 (4)rootのままsshdを再起動します。 shell> service sshd restart
私は、これで動きましたー。しかし、鍵認証方式が複数種類があるらしく、私は、まだその種類の違いを理解していません。まだまだ勉強しなきゃなー。