[DigitalOcean] Ubuntuをセットアップしてsshするまで（Mac）


作業メモとして共有したいと思います。

スクリーンショットは本日（2017/10/09）時点のものですのでご留意ください。
（古くなってもイメージは付きやすいかと思うので貼っておきます）

DigitalOceanの概要やアカウントのセットアップについては触れません。

# ssh鍵の生成・登録

DigitalOceanにssh鍵を登録します。

すでに鍵があるので今回はそれを利用します。
ssh鍵がない場合には`ssh-keygen -t rsa`で作成すると良いでしょう。

アカウントの Settings > Security のページまで行くと SSH keys という設定があります。

![Kobito.i75cDL.png](https://qiita-image-store.s3.amazonaws.com/0/29653/0c26ef67-dab7-373c-78d2-309992221248.png "Kobito.i75cDL.png")

「Add SSH Key」というボタンをクリックして登録します。

![Kobito.b2Y7Yb.png](https://qiita-image-store.s3.amazonaws.com/0/29653/6ba2451d-47c4-d608-0525-a851cedf83f6.png "Kobito.b2Y7Yb.png")

公開鍵の内容をクリップボードにコピーし、上部のテキストボックスに貼り付けます。

```
$ cat ~/.ssh/id_rsa.pub | pbcopy
```

Nameの方は分かりやすい名前にしておけば良いと思います。
（今回は、`xxx's Mac Book Pro`といったような命名にしておきました）

以下のように無事追加されたかと思います。

![Kobito.zeq2II.png](https://qiita-image-store.s3.amazonaws.com/0/29653/bf7ad32a-80f3-fd6d-e434-521bff05fe32.png "Kobito.zeq2II.png")

# Dropletの作成

「Create Droplet」から作成します。

![Kobito.VT8WJu.png](https://qiita-image-store.s3.amazonaws.com/0/29653/bcd8a148-ff17-e714-8aeb-5759d45001b9.png "Kobito.VT8WJu.png")


## Distributions

Ubuntu を選択します。
![Kobito.JJk7e9.png](https://qiita-image-store.s3.amazonaws.com/0/29653/10017e3b-c16b-ae5d-2249-635cde0f0065.png "Kobito.JJk7e9.png")

## Choose a size

今回は一番安いものを選択します。
![Kobito.XFuki3.png](https://qiita-image-store.s3.amazonaws.com/0/29653/996ea439-b57f-693d-6e57-65ef37efaa60.png "Kobito.XFuki3.png")


## Choose a datacenter region

リージョンはあまりこだわりはないので、New York にしてみました。
（できるだけ利用者と近い地理の場所を選択するのがセオリーでしょう）

![Kobito.VF7SoA.png](https://qiita-image-store.s3.amazonaws.com/0/29653/138e4d29-d547-63b3-d748-20cf8c14c266.png "Kobito.VF7SoA.png")

## Add your SSH keys

さきほど作成したssh鍵にチェックを付けます。
![Kobito.4RzJJr.png](https://qiita-image-store.s3.amazonaws.com/0/29653/d0948a78-e069-c7fa-e76f-098dfe9fb59e.png "Kobito.4RzJJr.png")

## 作成

Dropletの数やホスト名、その他のオプションはそのままにして作成します。
![Kobito.6dnJMK.png](https://qiita-image-store.s3.amazonaws.com/0/29653/6688569f-dbea-d9f7-b4fc-fc9a306aa4dd.png "Kobito.6dnJMK.png")

画面が切り替わってDropletの作成が始まります。
![Kobito.omGKau.png](https://qiita-image-store.s3.amazonaws.com/0/29653/c91c92e7-a28d-9857-d52a-92eeafa75913.png "Kobito.omGKau.png")

# ssh接続

## IPアドレスの確認
Dropletsの「IP Address」の欄にフォーカスを当てると「Copy」と表示されるので、クリックしてIPアドレヅをコピーします。
![Kobito.dwoj7E.png](https://qiita-image-store.s3.amazonaws.com/0/29653/263debc6-1434-67a0-78f5-c336045a9e53.png "Kobito.dwoj7E.png")

## 接続

（現時点では）デフォルトで`root`というユーザでssh接続出来るようになっているようなので、ターミナルから接続します。

```
$ ssh root@<IPアドレス＞
```

最初の接続なので警告が出ますが、`yes`と入力します。

```
The authenticity of host '<IPアドレス＞ (<IPアドレス＞)' can't be established.
ECDSA key fingerprint is SHA256:nYkqWlok1j+dhet5t6YdH/aXspvKTL8Mo1A8u1+EsAg.
Are you sure you want to continue connecting (yes/no)? yes
```

無事に`root`でログインできたかと思います。

```
Warning: Permanently added '<IPアドレス＞' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



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

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@ubuntu-512mb-nyc1-01:~#
```

# 作業ユーザ作成

このままでも作業は出来ますが、`root`ユーザでいろいろやるのは良くないので一般ユーザを作成します。

## 作成

`adduser`で作成します。
途中パスワードなど聞かれるので適当な値を入力しておきます。

```
# adduser <ユーザ名>
```

`su`でユーザ切り替えが出来ればOKです。

```
# su - <ユーザ名>
$ <ユーザ名>@ubuntu-512mb-nyc1-01:~$
```

## authorized_keys への登録

追加したユーザもssh鍵認証でアクセス出来るように、`authorized_keys`へ公開鍵を書き込みます。

まずは`~/.ssh`ディレクトリを作成し、パーミッションを設定します。

```
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
```

次にローカルの公開鍵をコピーします。

```
$ cat ~/.ssh/id_rsa.pub | pbcopy
```

`authorized_keys`へ書き込みます。
`vi`エディタでファイルを作成・開いて、ペーストします。

```
$ vi ~/.ssh/authorized_keys
```

最後にパーミッションを設定して終了です。

```
$ chmod 600 ~/.ssh/authorized_keys
```

## ssh接続

設定がうまくいったかローカルからssh接続を試みます。

```
$ ssh <ユーザ名>@<IPアドレス>
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.



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

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

<ユーザ名>@ubuntu-512mb-nyc1-01:~$
```

無事に接続することが出来ました。

# 最後に

そこまで大した作業ではないのですが、どこかにまとまってたら嬉しかったな、と思って記事にしてみました。もちろん自分の覚え書きの意味も込めて。

# 参考

https://www.digitalocean.com/
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04