*

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

Pidoraの時刻設定(ntp)

現在Pidoraを監視サーバ化しようとしているところです。 なかなか苦労しますね。普通のサーバで設

記事を読む

no image

個人でのProxyサーバ利用用途

Proxyサーバを建てたいということで、利用用途を考えていました。 まずサイト高速化であったり冗長

記事を読む

no image

SSL脆弱性/セキュリティ設定

昨今POODLEやらFREAKやらと大きめなOpenSSLの脆弱性が多発していました。 最近では安

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

Raspbianでメール送信 ssmtp編

Raspbianで監視などをおこなっているとメールが送信したくなります。 とりあえず何かと管理用に

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

性懲りもせずにRaspberry pi2を購入しました。 初代に比べて相当スペックが向上しており、

記事を読む

no image

iptablesで特定のIPからの接続を遮断

WordPressを利用して作成しているこのブログなのですが、管理画面へのログインリンクがあるせいな

記事を読む

no image

CentOS7 Postfix+Dovecot+SSL/TLS 設定

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

記事を読む

no image

CentOS6にredmineを導入

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

記事を読む

Message

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

PAGE TOP ↑