RaspberryPiにSSHしてリモートで操作したい

# RaspberryPiにSSHしたい
RaspberryPiにキーボード・マウスつなげてHDMIケーブル指して画面出力してそこからコンソールとかいじって…とするとめっちゃめんどくさいのです。
自分のPCのコンソール上でRaspberryPiをいじれたらどれだけ楽なことか…ということでRaspberryPiにSSH接続をしてリモートで操作できるようにするセットアップ方法を記していきたいと思う。

## 目次
1. RaspberryPiをインターネットに接続
2. SSH有効化
3. 自分のPCからRaspberryPiへSSH
4. （おまけ）リモートデスクトップ接続

## 環境
- RaspberryPi3B+ modelB
    - OS : raspbian(セットアップ済)
- Windows10 Home
- console ➢ PowerShell（cmdとかWindows Subsystem for LinuxでもOKです）

## RaspberryPiをインターネットに接続

RaspberryPi側での操作
- 接続したいSSIDを選択
![https___qiita-image-store.s3.amazonaws.com_0_80392_241a778b-a4af-6ff4-6627-078e3c4f8774.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/98ae01c4-1f63-84fa-e71d-5989ed8e4c1b.png)

- パスワードを入力
![https___qiita-image-store.s3.amazonaws.com_0_80392_3ecb95b1-85dd-852a-9bf9-6daad4fb1859.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/a83bd3c7-a587-3d1a-45cb-e4aaad412b2d.jpeg)

- 接続完了
![https___qiita-image-store.s3.amazonaws.com_0_80392_680d6f0e-e98f-e60f-42ed-1517501cbc71.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/e74e7bef-2082-9871-3188-4459c4585c33.png)

- WifiのIPアドレスを確認する
![https___qiita-image-store.s3.amazonaws.com_0_80392_4ad49c10-c633-0571-5eb3-cae897020e8a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/b542ea2c-6f5e-dc59-f7cc-5c8272ecc9a9.png)

またはコンソールから`ifconfig`と入力しても確認できる

```console
pi@raspberrypi:~ $ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:e8:43:10  txqueuelen 1000  (イーサネット)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (ローカルループバック)
        RX packets 58  bytes 5956 (5.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 58  bytes 5956 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.40  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::e91:5da8:3a30:b839  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:bd:16:45  txqueuelen 1000  (イーサネット)
        RX packets 2513251  bytes 1357879638 (1.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 934940  bytes 93831285 (89.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```
`wlan0`の`inet 192.168.100.40`となっている部分がipアドレス

※画像では192.168.5.201となっているが今回は192.168.100.40で接続を行う。

## SSH有効化
SSH接続をするためにはインターネットに接続するだけでなく

- コンソールから`$ sudo raspi-config`と入力する。
すると以下のような画面にになるのでそこから`5 Interfacing Options`を選択する。

![d1629c86fdda5978d71a0beef26368a3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/89c31811-fbb8-3190-0ce4-003a4523a116.png)

- 次の画面の`P2 SSH`を選択
![c0daa0a4c65f89e8a282060f8ed6a52a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/fcc206fd-c95e-e533-2dea-400ead1fdf9d.png)

- `Would you like the SSH server to be enabled?（あなたはSSHを有効化するか）`と問われるので迷わず**YES**
![79e033777f681a26732e88a39ff76fd5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/4764c572-d067-2877-09eb-e4446215f915.png)

- これでSSHの有効化が完了

## 自分のPCからRaspberryPiへSSHする
今回はPowerShellを用いる。（Windows10ユーザーならだれでも入っているはず）

- PowerShellを起動する
- SSH記述の仕方
`> ssh userid@[IPアドレス] or [hostname]`
- 今回RaspberryPiのIPアドレスが`192.168.100.40`なので以下のように記述する
- `> ssh pi@192.168.100.40`
- パスワードの入力を求められるのでRaspberryPiに設定してあるパスワードを入力する

```console
cdsl@ubuntu-study1:~$ ssh pi@192.168.100.40
pi@192.168.100.40's password:
Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Dec  5 16:35:52 2019 from 192.168.100.109
pi@raspberrypi:~ $
```
- 上記のようになればOK
- あとは好きなようにいじることができるのであ～る


## (おまけ)リモートディスクトップ接続
最後におまけとして、リモートでGUIを操作したいときに用いる**リモートディスクトップ接続**を行ってみたいと思う

CUIでの操作がまだ苦手な人はぜひ試してもらいたい

#### RaspberryPi側での操作
- まずxrdpをインストールする
まずはいつものうたい文句

```shell
$ sudo apt-get update
$ sudo apt-get upgrade
```

そしてインストール

```shell
$ sudo apt-get install xrdp
```

#### Windows10側での操作
- リモートディスクトップ接続というアプリケーションがあるので検索から起動
- RaspberryPiのIPアドレスを入力
![63c3a1453b3a0e581f22266bb3d6749b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/70c4b939-1629-a33b-368f-8cdb9fc89d7e.png)

- ユーザー名、パスワードを入力
以下の入力でOK

```
session : Xorg
username: pi
password: xxx
```

- するとRaspberryPiのGUIが表示され操作も可能
![93deffa35e3c353beaa07588fd25d50b.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/459889/37f274b8-fa56-2b74-8833-8988ce588cfd.jpeg)


## 終わりに
自分のメモです