Conoha VPS でUbuntu16.04をとりあえず使えるようにするメモ

さくらVPSと比較されるConoha VPS。
GMOグループを選んでいる時点で情弱だとか、萌え絵のコンソールが萎えるとか色々な評判はあるけれど、クラウドっぽく1時間1.3円からスタートという価格体系は面白いと思う。本格稼働させる前の、実験の時は、夜はサーバを削除してしまうと課金されないのが、なんとなくいいなあと思ったり。


Conoha VPSでUbuntuを使うときのTipsをメモしておく。
この手順でやれば、念のためUbuntuデスクトップでアクセスする場合にも対応できる。
細かい設定とかは期待するなよ。

だけど、初心者がはまって苦しむポイントもメモっておいた。
以下、設定レシピ。

■SSHでのアクセスとroot以外のユーザを追加する。
最初はrootアカウントでアクセスする。
※最初のログインで、root以外のスーパーユーザーを作っておかないと、以後システムにアクセスできなくなる。root以外のユーザーを作らないまま、リブート・シャットダウンを行ってはいけない。

$ ssh root@サーバIP

root以外のユーザーを追加する。例としてユーザーhogehogeを追加する。
# adduser hogehoge
Adding user `hogehoge’ ...
Adding new group `hogehoge’ (1000) ...
Adding new user `hogehoge’ (1000) with group `hogehoge’ ...
Creating home directory `/home/hogehoge’ ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hogehoge
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] y

hogehogeをsudoグループに追加する。

# gpasswd -a hogehoge sudo

Adding user hogehoge to group sudo

一旦ログアウトして、hogehogeで再ログインして使用する。

■SSHの認証を公開鍵、秘密鍵に変更する。
これは、まず最初にローカルマシンで実施する。
以下の手順はMacOSで実施した場合。

$ cd .ssh

.sshディレクトリが存在しない場合は、ディレクトリを作成するところから始める。

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

.sshディレクトリへ移動して、公開鍵と秘密鍵を生成する。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):パスフレーズをなにか入力する
Enter same passphrase again:もう一度パスフレーズを入力する
Your identification has been saved in /Users/hogehoge/.ssh/id_rsa.
Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.

id_rsa.pubが公開鍵
id_rsaが秘密鍵

公開鍵のアクセス権を変更する。

$ chmod 600 ~/.ssh/id_rsa.pub

UbuntuサーバにSSHでアクセスして、.sshディレクトリを作成する。
$ ssh hogehoge@サーバIP
$ mkdir ~/.ssh

Ubuntuサーバからログアウトし、ローカルPCから公開鍵をUbuntuサーバへ転送する。

$ scp -P 22 ~/.ssh/id_rsa.pub hogehoge@サーバIP:~/.ssh/authorized_keys

再びUbuntuサーバにSSHでアクセスする。
$ ssh hogehoge@サーバIP
Enter passphrase for key '/Users/hogehoge/.ssh/id_rsa’:パスフレーズを入力

パスフレーズが尋ねられるのは1回だけ。

Ubuntu側の.sshディレクトリのアクセス権を変更しておく。
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

UbuntuサーバのSSH設定ファイルを変更する。
$ sudo vi /etc/ssh/sshd_config

sshd_configの下記部分を変更する。
ChallengeResponseAuthentication no
PasswordAuthentication no

編集後にsshdをリスタートする(Ubuntuの場合)
$ sudo /etc/init.d/ssh restart

セキュリティ対応のためSSHポートを変更したり、rootアカウントでのアクセス禁止、パスワードでのアクセス禁止などの設定は後ほど行う。この時点でパスワードアクセスを止めてしまい、設定をミスると動きが取れなくなるため。

※Macでアクセス後、SSH接続するたびにパスフレーズの入力を求められることがある。
これはキーチェーンに登録されていないから起こる事象らしい。
そのときは、次のコマンドでMacのキーチェーンに登録するといい。
 $ ssh-add -K .ssh/id_rsa

-KのオプションはMacのみ有効なんだとか。

■簡単にSSH接続するためのローカルPC設定
 この設定はMacOSが前提。

$ vi ~/.ssh/config

Host conoha
  HostName サーバIP
  Port 22
  User hogehoge
  IdentityFile  ~/.ssh/id_rsa

保存して終了。
次回からconohaでssh接続可能

$ ssh conoha

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)

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

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


■Ubuntuにアップデートをかける
$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove
$ sudo apt-get -y autoclean

上記の作業後、いったんリブートをかける。

■Ubuntuサーバにデスクトップ環境をインストールする
$ sudo tasksel

Ubuntu Desktopを選択してインストール作業を進める。
終わったらリブート。

■FW設定用のGUIツールをインストールする。
$ sudo apt-get install gufw
必要に応じてポート開放設定を行う。

■SSHのポート番号を変更する。
Ubuntuサーバにログインして、/etc/ssh/sshd_config の設定を変更する。
$ sudo vi /etc/ssh/sshd_config

Port 22 → #Port 22
新規に Port 適当な番号(49152 ~ 65535番で選ぶと良い)

SSHサーバを再起動する。
$ sudo /etc/init.d/ssh restart

SSHがポート22番で接続できなくなったため、クライアントPC側にも設定をしておく。
$ vi ~/.ssh/config

Host            conoha
HostName        サーバIP
User            hogehoge
IdentityFile    ~/.ssh/id_rsa
Port            サーバ側で設定したポート番号

これで22番ポートを使わないSSH接続が可能になる。


■日本語設定
Ubuntuデストクップの「システム設定」から設定する。
1)言語サポート
 「言語のインストールと削除」で日本語を選択してインストール。
 「メニューとウィンドウの言語」で一番上に持って来る。
 「システム全体に適用」をクリック。
 「キーボード入力に使うIMシステム」を「IBus」を選択(他のIMシステムでも良い)。

2)テキスト入力
 「使用する入力ソース」の「+」ボタンをクリックして、「日本語(Mozc)(IBus)」を追加。
 入力ソースの一番上に持って来る。
 「ウィンドウごとに異なるソースを使用」「新しいウインドウではデフォルトの入力ソースを使用する」を選択。

 ※日本語キーボードを使っている場合は、「使用する入力ソース」から「日本語」を削除してはいけない。
  「日本語」を削除した場合、GUI画面のロック画面でパスワードを入力したい場合にJIS配列キーボードが認識されず正しいパスワード入力が行えない結果、システムに再ログインが不可能になる場合がある。



■日本語入力できない場合は、キーボードの設定が誤認識されている
Ubuntuサーバの設定ファイルに設定を書き込む。
$ sudo vi /usr/share/ibus/component/mozc.xml

<layout>default</layout>
↓defaultをjpに書き換える。
<layout>jp</layout>

保存して念のためにリブートする。


■ログイン画面からゲストセッションを削除する。ついでにログイン画面からユーザー一覧を削除する。
$ sudo vi /usr/share/lightdm/lightdm.conf.d/50-no-guest.conf

[SeatDefaults]
allow-guest=false
greeter-hide-users=true

$ sudo reboot

VNCはセキュリティ上問題があるので、conohaのコンソールからの利用に限定する。


■UbuntuサーバにPython3シリーズをインストールする
1)pyenvを使いたいので、Pythonのコンパイルに必要なパッケージをインストール。
$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

2)Pyenvのインストール
$ cd /usr/local/
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
$ sudo mkdir -p ./pyenv/versions ./pyenv/shims

3)Pyenv-virtualenvのインストール
$ cd /usr/local/pyenv/plugins/
$ sudo git clone git://github.com/yyuu/pyenv-virtualenv.git

4)Pathの設定
$ echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee -a /etc/profile.d/pyenv.sh
$ echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' | sudo tee -a /etc/profile.d/pyenv.sh
$ source /etc/profile.d/pyenv.sh

ここでpyenvが動作しているかテストする。
$ pyenv --version
pyenv 1.0.4-5-gdce5f75

上記のようなバージョン表示があれば、パス設定は成功。

sudo時にPATHとPYENV_ROOTを引き継ぎたいのでvisudoで以下のように編集。
$ sudo visudo

#Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults    env_keep += "PATH"
Defaults    env_keep += "PYENV_ROOT"

保存して終了の時はCtrl+X

5)pyenvでインストールできるバージョンをチェックする。
$ pyenv install --list

6)最新バージョンのanaconda3-4.2.0をインストールする。
$ sudo pyenv install anaconda3-4.2.0

7)デフォルトのPythonをanacondaに変更する。
$ pyenv versions
* system (set by /usr/local/pyenv/version)
  anaconda3-4.2.0

$ sudo pyenv global anaconda3-4.2.0
$ pyenv versions
  system
* anaconda3-4.2.0 (set by /usr/local/pyenv/version)

デフォルトがanacondaに変更された。


■Sqlite3をインストールする。
$ sudo apt-get install -y sqlite3

0 件のコメント:

コメントを投稿