shuto_log.aep

ブログ名変わりました。自分がやったことなどを備忘録的な感じで残していこうと思います。

AWSにubuntu 14.04インストールして初期設定したメモ。

はじめに

この記事は、AWSを登録した直後の状態から、ubuntuのEC2インスタンスを作成し、自分のMacからsshの公開鍵でログインできる状態にした際のメモ。
あとubuntuの初期設定もした。色々と初めてなので、誤りなどの指摘ヶ所あればぜひコメントお願いします。

VPCの作成とEC2インスタンスの作成、その他初期設定諸々

AWSの初期設定は下記を参考にした。
qiita.com
qiita.com

2016/04/12現在、若干UIが変わったりしていたけど、新たに入力が必要な事はなく、むしろ入力項目が減っていたため初心者でも利用しやすかった。
ただし、自分の場合の変更点および追加点は下記の通り。

  • トップページの右上の「AWSにようこそ」と「サポート」の間が「東京」になっているか確認する。
    • 物理サーバの所在地っぽいが、自分の場合「オレゴン」になっていたw
    • 「東京」になっていなかったらプルダウンメニューで「アジアパシフィック(東京)」を選ぶ。
  • 途中でEC2インスタンスのOSを選ぶところでubuntu 14.04を選ぶ。
    • 記事ではAmazon Linuxだったけど、その後の設定などで躓くことはなかった。
  • セキュリティグループインバウンドルール接続元を0.0.0.0/0にする。
    • これはサーバへの接続を許可する接続元を、"全てから許可"という設定にしている。
    • 初期設定でsshの公開鍵認証でしかログインを受け付けないことになっているので、テスト的な利用範囲ではまあ大丈夫なんじゃないかと。

それから記事に書いてなかったっぽいことで、途中でsshの公開鍵ペアをAWS側で生成して、秘密鍵をダウンロードさせられる。
例えば鍵の名前を「aws_20160412」(今日の日付)と入力すると、aws_20160412.pemという秘密鍵のファイルがダウンロードされる。今後自分の環境からはその鍵を使ってsshでリモートログインすれば良い。
以降鍵の名前は適宜読み替えて下さい。

ちなみに秘密鍵はターミナルから

~ $ mv Downloads/aws_20160412.pem ~/.ssh/

していつもの場所に移動させた。

上記の記事は更に続きがあるが、自分はElastic IPの紐付けをしたらやめた。(それ以上は関係ないので)

接続確認

AWSのEC2ダッシュボードから、インスタンスのページを開き、説明タブからパブリックIPを調べる。
前項でダウンロードしていた秘密鍵を使ってssh接続する。
これ以降、ターミナルでの操作。

~ $ ssh -i ~/.ssh/aws_20160412 ubuntu@XXX.XXX.XXX.XXX

ubuntuでは初期設定ではrootユーザが無効になっていて、sudo権限のあるubuntuユーザを使うことになっているようだ。

ubuntuの初期設定

自分用のアカウントの作成とsudo権限の付与

useraddではなくadduserを使う。useraddだと作成したユーザのホームディレクトリが作成されないらしい。

~ $ sudo adduser my_user

my_userは自分のユーザ名。
パスワードの入力(設定)も求められるので任意のものを入力する。

作成したユーザにsudo権限を付ける。(CentOSと違ってwheelグループが存在しなかった。)

~ $ sudo gpasswd -a my_user sudo

参考:ubuntu ユーザを追加して sudo 権限をつける - Qiita

確認のためにsu my_userしてログイン出来るか試す。
ログインできたらsudo権限が付与されているか、sudo echo "Hey, it's OK!"して確かめる。
Hey, it's OK!と表示されれば問題ない。

作成したユーザがsshでログイン出来るようにする。

  1. mkdir /home/my_user/.sshしてsshの鍵を置くディレクトリを作成する。
  2. cp /home/ubuntu/.ssh/authorized_keys /home/my_user/.ssh/で「authorized_keys」ファイルを自分のユーザの.sshディレクトリにも持ってくる。
  3. sudo chown -R my_user:my_user /home/my_user/.sshして自分のユーザの.sshディレクトリ以下の所有者および所有者グループを自分のユーザのものと同じにする。
  4. sudo chmod 600 /home/my_user/.ssh/authorized_keysしてauthorized_keysファイルのパーミッションを適切なものに変更する。

上記ができたら別のターミナルを開いて、ssh -i ~/.ssh/aws_20160412 my_user@XXX.XXX.XXX.XXXしてログイン出来るか確認する。

初期ユーザubuntuの削除

無事新規ユーザでsshからログインができたら既存のubuntuユーザを削除してしまう。

~ $ sudo userdel ubuntu

localeやtimezoneの設定

AWSで作成したEC2インスタンスubuntuは、初期設定ではlocaleの設定が日本ではないものになっている。
そのためJapanese Team Remixというオリジナルのubuntuを日本語環境用にカスタマイズされたパッケージをインストールすると良いらしい。
zorinos.seesaa.net
このブログに書いてある事を全てやると日本語環境が導入できる。

GPG鍵とレポジトリを追加

wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/trusty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update

パッケージをアップグレード

sudo apt-get upgrade

日本語 Remix CDに追加されているパッケージと同じものをインストールする

sudo apt-get install ubuntu-defaults-ja

あとは、再起動する。

これでようやく日本語環境が整ったので、改めてubuntuの初期設定もろもろ

基本的には
qiita.com
を参考に、

  • パッケージリストの更新
  • インストールされてるパッケージの更新
  • パッケージ自動アップデート
  • 自動アップデートの適用

あたりをやった。他にもlocaleの設定とかも書いてあるので便利。

とりあえずこんな感じでsshでリモートログインして好きなこと出来る環境ができた。