*

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

CentOS7にwordpressを移行

前の記事で初期設定を行ったサーバにwordpressを移設します。 wordpressの移設は案外

記事を読む

no image

RaspbianにRedmine3を導入

普段Zabbixを入れて運用しいてるRaspbianにRedmineも入れてみました。 ややスペッ

記事を読む

no image

RaspbianにZabbixをインストール

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

記事を読む

no image

CentOSにSSH鍵認証で接続するGitリポジトリを作成

今回友人と共同開発を行なうと思い、ざっくりとGitサーバを建ててみました。 私はSVNの方が好きな

記事を読む

no image

OpenDKIMを利用したメール認証

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

記事を読む

no image

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

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

記事を読む

no image

RedmineからsSMTPでメールを送信

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

記事を読む

no image

CentOS6にredmineを導入

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

記事を読む

no image

CentOS6 初期設定

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

記事を読む

no image

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

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

記事を読む

Message

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

PAGE TOP ↑