*

Raspbian(jessie)にssh鍵認証で接続

公開日: : 投稿者:raru Linux, Raspbian, サーバ

Debianがjessieになって、sshd_configのデフォルトの設定が変わりました。
それはあまり関係ないのですが、今後のことを考えてraspbianへのssh接続を鍵認証のみに絞りたいと思います。

鍵認証のみを通すように設定

まずはsshへの認証方式を鍵による認証のみにする設定を行います。
新しいDebian(jessie)では、一部の初期設定に変更が入っています。

結局設定を変更するのであまり差は感じませんが、ひとまず設定を行います。

root@raspberrypi:~# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
root@raspberrypi:~# vi /etc/ssh/sshd_config
root@raspberrypi:~# diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config
27c27,28
< PermitRootLogin without-password
---
> #PermitRootLogin without-password
> PermitRootLogin no
51a53
> PasswordAuthentication no

いつものようにバックアップを取得してdiffを取っていますね。
今回のDebianで加わっているのが「PermitRootLogin without-password」です。
Rootユーザではパスワードなしのログインは許すということのようです。直訳ですが。

ちなみに今回を含め、私がsshd_configを修正する時はいつも以下の設定を行っています。

PermitRootLogin no -> Rootでのアクセスを許しません。rootは無敵権限なので攻撃者が直接ログインすることを防ぎます。
PermitEmptyPasswords no -> パスワードなしでの接続を許しません。当然です。
PasswordAuthentication no -> パスワードでのログインを許しません。

これにより、パスワードなしも許さないし、パスワードがあっても許さない。
鍵認証でしか接続できなくなるわけですね。

PermitEmptyPasswordsはデフォルトでnoになっていましたのでdiffには出ていません。

ログイン用ユーザで認証鍵を作成

root@raspberrypi:~# su - hogehoge
hogehoge@raspberrypi ~ $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa): 
Created directory '/home/hogehoge/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
...(省略)...
hogehoge@raspberrypi ~ $ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
hogehoge@raspberrypi ~ $ chmod 600 ~/.ssh/authorized_keys
hogehoge@raspberrypi ~ $ cat ~/.ssh/id_rsa
...(省略)...
hogehoge@raspberrypi ~ $ exit
root@raspberrypi:~# systemctl restart sshd

シンプルに鍵を作成しています。オプションをいろいろ指定することも可能ですが覚えられないので今はこのシンプルなものを利用しています。
もっとちゃんと設定したい場合にはオプションを調べてみましょう。

またcatでid_rsaの中身を出力しているのは、接続元のマシンに鍵をコピーするためです。
scpとかrsyncとか,sftpなんかで移動させても面白いですね。
ftpは通信がガバガバなのでオススメしません。

以上で、設定は完了です。
クライアントから接続を確認したら、接続を切りましょう。
接続を確認する前に接続を切ってしまうと、そのあとに通信できなかった場合に詰んでしまいますよ。

私は昔詰んだことがあります。

あとがき

日々更新を意識すると簡単な設定も上げていかないと無理ですね。
zabbixの方は、まだ設定すらしていないので手順書がありません。
設定に数日ついやして書くのに1日って感じになりそうなので間はなんか他の設定でもしますか。

関連記事

no image

RaspbianのZabbix ServerにZabbix Agentをインストール

前回の記事でRaspbianにZabbixサーバをインストールしてみました。 今回はzabbi

記事を読む

no image

CentOSで不要カーネルの削除

サーバを利用して時間が経過すると溜まってくるLinuxのkernelの削除方法の備忘録。 忘れるた

記事を読む

no image

ZabbixからsSMTPを利用してエラー通知メール送信

今回はsSMTPを利用してRaspbian上のZabbix Serverからアラートメールの送信を行

記事を読む

no image

apache2.4でBOTからのアクセスを排除

私は何か数字が動くものを見るのが好きでgoogle analyticsのリアルタイム情報をよく見てい

記事を読む

no image

DDNS(No-IP)をcronで更新

DDNSを利用してzabbix agentを導入できないかと思い、ひとまずDDNSの設定を行いました

記事を読む

no image

RaspbianにZabbixをインストール

今回はRaspbianにZabbixをインストールしてみたいと思います。 前回のPidoraでは「

記事を読む

no image

CentOS6にredmineを導入

CentOSにredmineを導入しました。 Gitとの連携を目論んでいたのですが、redmine

記事を読む

no image

OpenDKIMを利用したメール認証

今回はOpenDKIMを利用したメール認証設定を行います。 DKIMやらSPFやら、メールは何かと

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑