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を選ぶ。
- セキュリティグループのインバウンドルールの接続元を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でログイン出来るようにする。
mkdir /home/my_user/.ssh
してsshの鍵を置くディレクトリを作成する。cp /home/ubuntu/.ssh/authorized_keys /home/my_user/.ssh/
で「authorized_keys」ファイルを自分のユーザの.sshディレクトリにも持ってくる。sudo chown -R my_user:my_user /home/my_user/.ssh
して自分のユーザの.sshディレクトリ以下の所有者および所有者グループを自分のユーザのものと同じにする。sudo chmod 600 /home/my_user/.ssh/authorized_keys
してauthorized_keysファイルのパーミッションを適切なものに変更する。
上記ができたら別のターミナルを開いて、ssh -i ~/.ssh/aws_20160412 my_user@XXX.XXX.XXX.XXX
してログイン出来るか確認する。
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でリモートログインして好きなこと出来る環境ができた。