Day19:rootとpiのパスワードを設定
Day20:sshのポート番号の変更
今回は、sshのルートログインの禁止とSSHの公開鍵認証設定を行います。
#####sshのルートログインの禁止#####
sudo vim /etc/ssh/sshd_config
27 PermitRootLogin yes
を
27 PermitRootLogin no
に変更
#sshサーバの再起動
vim /etc/ssh/sshd_config
これでrootログインはできなくなった。
#####SSHの公開鍵認証設定####
日経Linux『誰でもできる! Raspberry Piで楽しもう』日経BP社 2013のp62 - 66を参考にした。
まずは、手元のMacで鍵を生成する。
kappa$ ssh-keygen -t rsa
デフォルトのままでEnterを2回押すと、~/.ssh/に公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が生成する。
kappa$ ls ~/.ssh
id_rsa id_rsa.pub known_hosts
これから、この公開鍵(id_rsa.pub)をサーバーの自分がいつもログインするpiユーザの支配下に送り込み、そして、piの~/.ssh/authorized_keysに公開鍵の内容を追記する。
#サーバーに公開鍵を送信(piユーザーのホームディレクトリ)
kappa$ scp -P hogenumber id_rsa.pub pi@192.168.11.7:~/
ここからはRasPiにログインしてからの操作。
#~/.ssh/の作成し、公開鍵を移動させる。
mkdir ~/.ssh
mv ~/id_r~/.ssh/
#公開鍵の内容を追記(authorized_keysファイルがなければ新規作成される)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#####パスワードログインを無くして、いよいよ公開鍵認証のみでログインできる状態にする####
sudo vim /etc/ssh/sshd_config
51 #PasswordAuthentication yes
52 PasswordAuthentication no
これでok.
#サーバー再起動
sudo /etc/init.d/ssh restart
あとは、Macからログインしてみるだけだ!
と思ったらハマった。
以前サーバー構築した時も同様のところでハマったのでピンと来た。
「SSHが鍵認証されないとき、パーミッションを疑え。」だろうと思った。
そこで、raspiはモニターにつないでスタンドアロンの環境で以下の作業をして、いろいろ考えてみる事にした。
(続く)