*

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

RaspberryPI3にCentOS7をインストール (mac利用)

いつの間にやらRaspberryPI 3が発売し、さらにはCentOSまでもがraspberry p

記事を読む

no image

Raspbianをwheezyからjessieにアップグレード

2015/04頃にdebianのバージョン8 jessieがリリースされたようです。 それに伴い、

記事を読む

no image

Firewalldで特定IPからの接続をdrop

このサイトは見ての通りwordpressなのですが、wordpressではloginのurlが推測さ

記事を読む

no image

CentOS6にredmineを導入

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

記事を読む

no image

RedmineからsSMTPでメールを送信

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

記事を読む

no image

Raspberry Pi/ラズベリーパイ にFedora(Pidora)をインストール

Raspberry PI2にFedoraをインストール 注文していたRaspberry P

記事を読む

no image

CentOS7 Postfix+Dovecot+SSL/TLS 設定

今回は禁断のメール設定です。 メールは他に比べて設定がわかりづらいし、連携するミドルウェアが多いし

記事を読む

no image

CentOS6 初期設定

自宅に置いてある安鯖にCentOS6を入れて初期設定を行ないました。 前提条件/設定項目

記事を読む

no image

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

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

記事を読む

no image

ZabbixでSSL証明書期限チェック

zabbixは初期状態でhttps系の監視が微妙なため、証明書期限の監視設定などを行ってみたいと思い

記事を読む

Message

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

PAGE TOP ↑