【RaspberryPi】SSH接続する

RaspberryPiを操作する時、マウスとキーボードをいちいち接続するのは面倒です。
また、モニタも専有されるため使い勝手が悪いです。
そこで、SSH接続できるようにすることで使い勝手を良くします。

IPアドレスの固定

ラズパイを起動したときのIPアドレスを固定するように設定します。
基本的にターミナルを使った方が行いやすいと思いますが、GUIでも簡単にできます。
まず、ifconfigコマンドでネットワークの情報を見ることができます。

$ ifconfig

最上段にある「eth0」「inet」あたりの値を覚えておきます。

次に

$ sudo nano /etc/dhcpcd.conf

とターミナルに入力して、dhcpcd.confを編集します。 真ん中のあたりに

# interface eth0
# static ip_address=192.168.0.1/24
# static routers=192.168.0.1

とあるので「#」を消して、それぞれの値を設定します。

# interfaceはそのままで大丈夫
interface eth0

# ipアドレスは固定したい値を設定する。下記は例
# 「/24」は変更しなくて問題なし
static ip_address=192.168.0.10/24

# ルータのアドレスを設定する
# NECとかバッファローなら下記の値で大丈夫なはず
static routers=192.168.0.1

設定後、ラズパイを再起動するか再ログインする。

そして、もう一度

$ ifconfig

で情報を確認し、「inet」の値が固定したいipアドレスになっていればOKです。

SSHの有効化

SSHを有効化します。 この設定はターミナル、GUIのどちらでやっても大差ないです。

$ sudo raspi-config

と入力し専用のソフトでSSHを有効化します。
「3 Interface Options」 -> 「P2 SSH」 -> Enable
とりあえず「enabled?」って書いてあれば「yes」でOK

接続する

ターミナルアプリからラズパイにSSH接続します。

ubuntu系(linux)の場合

ターミナルを起動して

$ ssh ユーザー名@ipアドレス

と入力する。初回接続時は接続を続行しますか?「yes/no」って聞かれるので「yes」と入力。
パスワードを聞かれるのでラズパイのログインパスワードを入力して接続できます。

windowsの場合

「Tera Term」というソフトを使うと楽。
起動して「ホスト」という入力欄にipアドレスを打ち「OK」をクリックする。
ユーザー名とパスワードを聞かれるので入力すると接続できます。

powershellを使って接続する場合は「openssh」をインストールする必要があります。
opensshインストール後はlinuxと同じです。

$ ssh ユーザー名@ipアドレス

と入力。ログインパスワードを入力すれば接続できます。

セキュリティ

ssh接続はラズパイをネットワーク経由でコントロールできるので非常に便利ですが、セキュリティの問題もあります。
最低限の対策はした方が安心できます。
行った方がよいと思う項目を書いておきます。

デフォルトのユーザー名とパスワード

ラズパイのデフォルトユーザーは「pi」、パスワードは「raspberry」となっています。
インストール時に決まっているのでみんな知っています。
最低でもパスワードだけでも変更してください。変更は設定からできます。
ターミナルから行う場合は「passwd」コマンドで変更できます。

デフォルトのポート

ssh接続のデフォルトポートは22番と決まっています。
当然、みんな知っています。
ssh接続をするときは可能な限り、デフォルトのポートは避けた方が良いです。

$ sudo nano /etc/ssh/sshd_config

と入力し、上の方に「# Port 22」とあるので「#」を外してポート番号を変更します。
49152から65535の範囲で好きな数字を割り当ててください。

ポート番号を変更した場合の接続方法

「Tera Term」の場合は起動画面でTCPポートの値を割り当てたポート番号に変更してください。
opensshを使って接続する場合はコマンドオプション「-p」が必要です。

$ ssh -p ポート番号 ユーザー名@ipアドレス

となります。