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 件のコメント:
コメントを投稿