初期設定 セキュリティ強化編
2015.03.11 Wed
つい先日、京都大学や東京大学の合格発表がありましたね。僕の知り合いの浪人生たちも結構な人数が受かってくれたので良かったです。落ちた人は後期頑張ってください………。
これもラズパイが来た初日に済ませてしまったのですが、もう少しセキュリティ面での教科を施します。この前の記事ではユーザーのパスワードを入力していましたが、もう少し強固なセキュリティにしてみようと思います。
SSHを公開鍵認証による接続に変えます。やはりパスワードでは総当りで解かれてしまう可能性がありますしね。
WinとMacでまたそれぞれ手順が異なります(めんどくさい
---Windows(PuTTY)---
PuTTYgenを起動します。スタート画面からすべてのプログラムを見ると、PuTTYの本体と同じツリーにいるはずです。スタート画面に登録していない場合は、PuTTYをインストールしたディレクトリの中にいると思います(たぶん

何も考えずGenerateします。
ウィンドウ上でマウスカーソルをぐるぐるするとプログレスバーが進みます。なんかマウスの動きからキーを生成するとか聞いたような聞かなかったような。

key passphraseとconfirm passphraseに覚えやすいパスワードを入れます。((ログイン時に使います。オプションなのでなくても良い))
ここでsave public keyは押さずに上部にあるダイアログ内の文字をすべてコピーします。
この前と同じようにユーザー名とパスワードでRaspberryPiにSSHでログインします。
おそらく初期状態ならば.sshというフォルダが生成されていないので、
権限を変更するために
PuTTYgenに戻り、save privete keyをおします。適当な場所に保存しておきます。
PuTTYの左側ツリーの中からConnection>SSH>Authを探し出します。Authの中のPrivate key file for authenticationのところにあるBrowseをおし、先ほど生成した秘密鍵を指定します。((RaspberryPiようにセッションを保存しておくと良いです
あとは通常通りSSHし、ユーザ名を入れると鍵の認証が行われ、鍵を生成したときに設定したパスワードを入力するとログインが可能になります。
---Mac---
ターミナルで
id_rsa.pubの中身をエディターなりなんなりでコピーし、SSHでRaspberryPiに接続。Winの時と同様にauthorized_keysファイルに先ほどコピーした中身をペーストします。
Macに戻り、MacのSSHのプロファイルを設定します。
すると
更にセキュリティを高めるため、Raspberry Pi側の設定も変更していきます。
今回することは以下の項目
・root権限でのsshログインを禁止
・SSH用に解放するポートの変更
・パスワードによるSSH接続の禁止
・(もし公開鍵認証がうまく行かなかった場合は)公開鍵認証の許可
を行います。最後の項目はすでにYesになっている場合があるので、各自で判断してください。
保存したら
また、使用するポートの変更に伴い、PuTTYやMacのSSHの設定も変更しないと接続できません。
とりあえずこれでセキュリティはしっかりしたはずです。
次はSamba及びNetatalkを導入し、MacとWinから閲覧及びアップロード可能なファイルサーバにしてみようと思います。
Tweet
これもラズパイが来た初日に済ませてしまったのですが、もう少しセキュリティ面での教科を施します。この前の記事ではユーザーのパスワードを入力していましたが、もう少し強固なセキュリティにしてみようと思います。
SSHを公開鍵認証による接続に変えます。やはりパスワードでは総当りで解かれてしまう可能性がありますしね。
WinとMacでまたそれぞれ手順が異なります(めんどくさい
---Windows(PuTTY)---
PuTTYgenを起動します。スタート画面からすべてのプログラムを見ると、PuTTYの本体と同じツリーにいるはずです。スタート画面に登録していない場合は、PuTTYをインストールしたディレクトリの中にいると思います(たぶん

何も考えずGenerateします。
ウィンドウ上でマウスカーソルをぐるぐるするとプログレスバーが進みます。なんかマウスの動きからキーを生成するとか聞いたような聞かなかったような。

key passphraseとconfirm passphraseに覚えやすいパスワードを入れます。((ログイン時に使います。オプションなのでなくても良い))
ここで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このように表示されていればOKです。
-rw-r--r-- 1 xxx xxxx 420 5 5 23:31 id_rsa.pub
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とし、sshd_configを編集していきます。
#バックアップを取る場合はsudo cp sshd_config sshd_config.org
sudo vim sshd_config
今回することは以下の項目
・root権限でのsshログインを禁止
・SSH用に解放するポートの変更
・パスワードによるSSH接続の禁止
・(もし公開鍵認証がうまく行かなかった場合は)公開鍵認証の許可
を行います。最後の項目はすでに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から閲覧及びアップロード可能なファイルサーバにしてみようと思います。
スポンサーサイト
カテゴリー:RaspberryPi
Tweet