初期設定 セキュリティ強化編
つい先日、京都大学や東京大学の合格発表がありましたね。僕の知り合いの浪人生たちも結構な人数が受かってくれたので良かったです。落ちた人は後期頑張ってください………。
これもラズパイが来た初日に済ませてしまったのですが、もう少しセキュリティ面での教科を施します。この前の記事ではユーザーのパスワードを入力していましたが、もう少し強固なセキュリティにしてみようと思います。
SSHを公開鍵認証による接続に変えます。やはりパスワードでは総当りで解かれてしまう可能性がありますしね。
WinとMacでまたそれぞれ手順が異なります(めんどくさい
Windows(PuTTY)
PuTTYgenを起動します。スタート画面からすべてのプログラムを見ると、PuTTYの本体と同じツリーにいるはずです。スタート画面に登録していない場合は、PuTTYをインストールしたディレクトリの中にいると思います(たぶん
何も考えずGenerateします。
ウィンドウ上でマウスカーソルをぐるぐるするとプログレスバーが進みます。なんかマウスの動きからキーを生成するとか聞いたような聞かなかったような。
key passphraseとconfirm passphraseに覚えやすいパスワードを入れます。*1
ここでsave public keyは押さずに上部にあるダイアログ内の文字をすべてコピーします。
この前と同じようにユーザー名とパスワードでRaspberryPiにSSHでログインします。
おそらく初期状態ならば.sshというフォルダが生成されていないので、
mkdir .ssh
とします
権限を変更するために
chmod 700 .ssh
とし、このディレクトリ内に公開鍵を置きます。
vim .ssh/authorized_keys
先ほどコピーしたものをペーストし保存します。
chmod 600 .ssh/authorized_keys
これでとりあえずRaspberryPiのほうは準備完了です。
PuTTYgenに戻り、save privete keyをおします。適当な場所に保存しておきます。
PuTTYの左側ツリーの中からConnection>SSH>Authを探し出します。Authの中のPrivate key file for authenticationのところにあるBrowseをおし、先ほど生成した秘密鍵を指定します。((RaspberryPiようにセッションを保存しておくと良いです
あとは通常通りSSHし、ユーザ名を入れると鍵の認証が行われ、鍵を生成したときに設定したパスワードを入力するとログインが可能になります。
Mac
ターミナルで
mkdir .ssh #ディレクトリが無ければ chmod 700 .ssh ssh-keygen -t rsa #パスワードを設定するかどうかは自由 #パスワードを設定しない場合はEnter押しまくってたら大丈夫
鍵が生成されているかどうかを確認しましょう。
cd .ssh ls -l
として
-rw------- 1 xxx xxxx 1679 5 5 23:31 id_rsa -rw-r--r-- 1 xxx xxxx 420 5 5 23:31 id_rsa.pub
このように表示されていればOKです。
id_rsa.pubの中身をエディターなりなんなりでコピーし、SSHでRaspberryPiに接続。Winの時と同様にauthorized_keysファイルに先ほどコピーした中身をペーストします。
Macに戻り、MacのSSHのプロファイルを設定します。
vim ~/.ssh/config
とし、SSHの設定を開きます。
Host RaspberryPi #適当に自分でホスト名を決める HostName 192.168.x.xx #RaspberryPiのIPアドレス Port 22 #SSH用に開けてあるポート番号、デフォルトは22 User Pi IdentityFile ~/.ssh/id_rsa #秘密鍵の場所を指定
適宜変更して保存します。
すると
ssh 設定したホスト名
とするだけで簡単に接続できるようになります。パスワードも一度入力すればキーチェーンに保存され、それ以降の入力が不要になります。
更にセキュリティを高めるため、Raspberry Pi側の設定も変更していきます。
cd /etc/ssh #バックアップを取る場合はsudo cp sshd_config sshd_config.org sudo vim sshd_config
とし、sshd_configを編集していきます。
今回することは以下の項目
を行います。最後の項目はすでにYesになっている場合があるので、各自で判断してください。
#PermitRootLogin yes PermitRootLogin no #Port 22 Port 50022 #適当に #PasswordAuthentication yes PasswordAuthentication no #RSAAuthentication yes #PubkeyAuthentication yes
これらの項目を探しだして変更を加えてください。
保存したら
sudo /etc/init.d/ssh restart
またはsudo shutdown -r now
とし、再起動をかけて再びSSH接続してみましょう。ちゃんと接続できれば完了です。
また、使用するポートの変更に伴い、PuTTYやMacのSSHの設定も変更しないと接続できません。
とりあえずこれでセキュリティはしっかりしたはずです。
次はSamba及びNetatalkを導入し、MacとWinから閲覧及びアップロード可能なファイルサーバにしてみようと思います。
*1:ログイン時に使います。オプションなのでなくても良い