#はじめに
自由にテスト出来るLinuxのサーバーがほしくて、さくらVPSで構築してみました。
順次手順をアップしていく予定です。
前回、CentOS7をインストールしました。
今回はSSHで接続出来る環境を作っていきます。
最初にルートにパスワードで接続し、ユーザ追加・鍵認証・ポート変更等を行います。
#目次
- 申し込み
- CentOS7インストール
- SSH接続
- Apache・PHPインストール
- MariaDBインストール
- FTP接続
- sftp接続
- phpMyAdminインストール
- 環境のバックアップ
- Ruby On Railsインストール
- RailsプロジェクトをGitで共同開発
#3.SSH接続
##Tera Termインストール
接続にはTera Termというソフトを使います。
-
ダウンロード
窓の杜からダウンロードします。
-
インストール
ダウンロードしたファイルteraterm-4.98.exe(H30/04/20現在)を起動
[実行]をクリック
日本語を選択し[OK]をクリック
[同意する]を選択し[次へ(N)>]
__[TeraTerm Menu]のチェック__を追加して[次へ(N)>]をクリック
ディフォルト(日本語)のまま[次へ(N)>]をクリック
ディフォルトのまま[次へ(N)>]をクリック
[インストール]をクリック
[完了]をクリック
以上でTera Termのインストールは完了です。
rootでログインしてみる
一覧に掲載されているURL又IPアドレスをホストに設定します。
* セキュリティ警告
[続行]をクリック
* SSH認証
ユーザ名:root
パスフレーズ:CentOS7インストール時に設定したrootのパスワード
[OK]をクリック
接続出来ない時は、ホスト・ポート・ユーザ名・パスワード等の設定を確認してください。
あと、サーバーが稼働中かも確認してください。
さくらVPSのサーバー一覧の右端に「停止中」と表示れている場合、起動する必要があります。サーバーを選択し、開いた詳細画面の[起動]をクリックすると起動します。
###システムのアップデート
-
システムアップデートをしておきます。
yum update
* 日本語環境を設定
「localectl」コマンドを使って日本語環境を設定します。
「localectl」は言語と地域の設定の確認と変更を行うコマンドです。
「set-locale」はシステムのローカルを設定するlocalectlのコマンドです。
```
# localectl set-locale LANG=ja_JP.utf8
上記コマンドを実行すると、「/etc/locale.conf」が変更されます。
この変更を反映する為に「source」コマンドを実行します。
「source」コマンドは、ファイルに書かれたコマンドを現在のシェルで実行するコマンドです。
```
source /etc/locale.conf
「localectl」で設定の確認ができます。
```
# localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp
英語配列のキーボードを使っている場合は、キーボード配列を変更します。
これも「localctl」コマンドで出来ます。
```
localectl set-keymap us
localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminal:ctrl_alt_bksp
##作業概要
以下の手順で作業をしていきます
* 作業用一般ユーザの作成
* sudoの設定
* 鍵認証の為の公開鍵と秘密鍵を作成
* 公開鍵を使ったログイン設定
* SSH接続設定とSSH接続ポート番号の変更
* firewalldの設定
* Tera Termで自動ログイン
## 作業用一般ユーザの作成
例として「sakura」という名称の作業用一般ユーザーを作成します。
先ほど立ち上げたTera Termのrootのコンソールでの作業です。
* 「sakura」ユーザ追加
```
# useradd sakura
-
パスワード作成
passwd sakura
ユーザ sakura のパスワードを変更。
新しいパスワード: ←ここに入力。表示はされない。
あたらしいパスワードを再入力してください: ←もう一度入力。表示はされない。
passwd: すべての認証トークンが正しく更新できました。
## sudoの設定
作業用一般ユーザがスーパーユーザの特権レベルでプログラムを実行できるように、sudoを設定します。
引き続き、先ほど立ち上げたTera Termのrootのコンソールでの作業です。
一般ユーザを「wheel」グループに所属させた後、「wheel」グループが「sudo」を利用できるように設定します。
* ユーザを「wheel」グループに所属させる
「-G」は補助グループを指定するオプションです。
```
# usermod -G wheel sakura
-
wheelグループに所属するユーザが「sudo」を利用できるように設定
「visudo」はsudoの権限を設定するコマンドです。
実行すると/etc/sudoersファイルを編集するエディタが開きます。
visudo
エディタが起動するので、以下を修正して保存する。
%wheel ALL=(ALL) ALL と書かれた行の先頭に「#」があればはずす。
```tmp:/etc/sudoers.tmp
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
-
動作確認
新しくTera Termを開いて、作業用ユーザ「sakura」でログインしてみます。
$ sudo id
あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:
#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。
[sudo] sakura のパスワード:
uid=0(root) gid=0(root) groups=0(root)
* 接続を閉じる
rootでの作業は此処までですので、コンソールを閉じます。
exitコマンドでログアウトしコンソールが閉じます。
```
# exit
##鍵認証の為の公開鍵と秘密鍵を作成
ユーザ名とパスワードでの接続が出来ましたので、鍵認証を使った接続の設定をしていきます。
まず、鍵認証に必要な公開鍵と秘密鍵を作成します。
作成にはTera Termを使います。
-
「TTSSH: 鍵生成」ダイアログで[生成(G)]をクリック
鍵の種類:RSA
ビット数(B):2048
-
[公開鍵の保存]をクリックして保存
保存先選択用のダイアログが開くので、先ほど作成した「公開鍵認証」フォルダを選択して保存します。
-
[秘密鍵の保存]をクリックして保存
保存先選択用のダイアログが開くので、先ほど作成した「公開鍵認証」フォルダを選択して保存します。
- Tera Termを閉じる
##公開鍵を使ったログイン設定
公開鍵をサーバーに転送し、公開鍵認証の設定を行います。
Tera Termで作業用一般ユーザでログインして作業します。
- Tera Termを起動し、作業用ユーザー「sakura」でログイン
-
ユーザーのホームディレクトリに移動
$ cd
* ディレクトリ確認
```
$pwd
/home/sakura
-
公開鍵転送
$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 392 4月 23 14:58 id_rsa.pub
* 公開鍵保存用フォルダを作成し、公開鍵をコピーする。
フォルダ名:.ssh
フォルダのパーミッション:700
ファイル名:.ssh/authorized_keys
ファイルのパーミッション:600
```
$mkdir .ssh
$chmod 700 .ssh
$cat id_rsa.pub > .ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
$rm -f id_rsa.pub
* 確認
```
$ls -la .ssh
合計 4
drwx------ 2 sakura sakura 28 4月 23 15:57 .
drwx------ 5 sakura sakura 117 4月 23 15:58 ..
-rw------- 1 sakura sakura 392 4月 23 15:57 authorized_keys
* Tera Termを閉じる
鍵認証を使って接続する為に、一度Tera Termを閉じます。
```
$ exit
* 鍵認証で接続
* Tera Termを起動
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/26197e2e-1c37-76cf-7f59-4aebf234a574.jpeg" width=80>
* Tera Term:新しい接続にホストを設定して[OK]をクリック
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/b3311444-7f5c-20be-6632-90ae6bf6f801.jpeg" width=400>
* セキュリティ警告で[継続]クリック
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/2bada8e3-a306-7762-cd08-1b49e86983c7.jpeg" width=300>
* SSH認証設定
ユーザ名:sakura
パスフレーズ:Tera Termで鍵生成時に入力した「鍵のパスフレーズ」を設定
「RSA/DSA/ECDSA/ED25519鍵を使う」を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/87db1a66-5692-23fa-0058-4417885741c1.jpeg" width=300>
<br>
* 秘密鍵の選択
[秘密鍵]をクリックし、Tera Termで鍵生成時に作成・保存した秘密鍵「id_rsa」を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/78cda63e-fd03-9653-19c9-bd94188a78ca.jpeg" width=400>
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/db4172cb-06ba-865c-6777-e5ebbca58db0.jpeg" width=300>
* 接続
[OK]をクリックすると接続されます
以上で鍵認証を使った接続の設定は完了です。
以降、この接続を使って設定作業を進めていきます。
##SSH接続設定とSSH接続ポート番号の変更
作業用一般ユーザの鍵認証を使った接続が出来るようになったので、rootユーザでのログインとパスワードを使った認証は使えないようにします。
作業はTera Termで一般ユーザ「sakura」に鍵認証で接続して行います。
-
SSH接続の設定とポート番号変更
/etc/ssh/sshd_configを編集します。
特権レベル(sudo)で実行します。
変更前にバックアップしておきます。
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
[sudo] sakua のパスワード: ←パスワード入力。表示されない
編集
```
$ sudo vi /etc/ssh/sshd_config
SSH接続用ポート番号の変更
番号は使用されていないポート(1025~49151)から任意の数値を設定します。
とりあえず2022にしました。
```
ポート番号を変更
#Port 22
Port 2022
rootユーザでのログインを無効にする
```
# rootユーザでのログインを無効にする為PrimitRootLoginをnoに変更
#PermitRootLogin yes
PermitRootLogin no
パスワード認証を無効にする
```
To disable tunneled clear text passwords, change to no here!
パスワード認証を無効にするためPasswordAuthenticationをnoに変更
#PasswordAuthentication yes
PasswordAuthentication no
* SSH接続設定の再読み込み
変更内容を反映させる為に再読み込みします。
```
$ sudo systemctl restart sshd
[sudo] sakua のパスワード: ←パスワード入力。表示されない
-
SSH接続の動作確認
activeという文字があればOKです。
$ sudo systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since 月 2018-04-23 16:54:45 JST; 24s ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 26151 (sshd)
CGroup: /system.slice/sshd.service
mq26151 /usr/sbin/sshd -D
4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Starting OpenSSH ...
4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp sshd[26151]: Server listening...
4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Started OpenSSH s...
Hint: Some lines were ellipsized, use -l to show in full.
##firewalld(ファイアウォール)の設定
SSH接続ポート番号を変更したので、firewalldの設定も変更します。
* 編集
```
$ sudo vi /usr/lib/firewalld/services/ssh.xml
[sudo] sakura のパスワード: ←パスワード入力。表示されない
ポート番号を22から変更したポート番号「2022」に変更します。
```
-
設定を再読み込みして変更を反映させる
$ sudo firewall-cmd --reload
success
* 動作確認
* 一度接続を閉じます
```
$ exit
##SSHのポート番号を変更すると、接続できなくなる!!
-
/usr/lib/firewalld/services/ssh.xmlを編集して、設定を再読み込みすると、以下のようになる場合があります。
$ sudo firewall-cmd --reload
FirewalID is not running
ファイアウォールが起動していないのですが、これは2019年06月27日にさくらVPSが「パケットフィルタ」の提供を開始したことにより、CentOS7のデフォルト設定からファイアウォール起動が外されたことが原因です。
パケットフィルタは、さくらVPSのコントロールパネルからポートの有効・無効を設定出来る機能で、このパケットフィルタ使用がデフォルトで有効になっているため、ファイアウォールが無効になったようです。
なので、ファイアウォールを使用せずパケットフィルタを使おうと思ったのですが、SSHだとポート22が固定で変更出来ないようです。
ちなみに設定できるポートは以下です。
SSH:22
Web:80/443
FTP:20/21
メール:25/110/143/465/587/993/995
この中で、SSHだけがデフォルトで有効になっています。
このせいで、SSHのポート番号を変更すると、いくらファイアウォールを設定しても繋がらなくなってしまいます。
同様に、Webを有効にしないと、Webサーバー繋がりません。
ということで、パケットフィルタは無効にしました。
変更は、さくらVPSのコントロールパネルから行います。
* コントロールパネルを開き、[パケットフィルタ]を選択
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222823/8dc9b732-f61c-dcf9-e9b4-e9f2b49493ed.png" width=500>
* [パケットフィルタ設定へ>]を選択
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222823/1e1e6635-c8f3-8bf2-c162-7a0f4ed72117.png" width=500>
* [利用しない]を選択し、[設定]をクリック
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222823/85e8879d-beae-292b-7bce-f3ca8d33d25c.png" width=500>
* firewalld.serviceを起動
```
$ sudo systemctl start firewalld.service
-
firewalld.serviceの自動起動設定
$sudo systemctl enable firewalld.service
## 変更したポートで開く
* Tera Termを起動
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/26197e2e-1c37-76cf-7f59-4aebf234a574.jpeg" width=80>
<br>
* Tera Term:新しい接続にホストを設定して[OK]をクリック
ポート番号:2022 (ポート番号変更時に付けた任意のポート番号)
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/b3311444-7f5c-20be-6632-90ae6bf6f801.jpeg" width=400>
<br>
* セキュリティ警告で[継続]クリック
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/2bada8e3-a306-7762-cd08-1b49e86983c7.jpeg" width=300>
<br>
* SSH認証設定
ユーザ名:sakura
パスフレーズ:Tera Termで鍵生成時に入力した「鍵のパスフレーズ」を設定
「RSA/DSA/ECDSA/ED25519鍵を使う」を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/87db1a66-5692-23fa-0058-4417885741c1.jpeg" width=300>
<br>
* 秘密鍵の選択
[秘密鍵]をクリックし、Tera Termで鍵生成時に作成・保存した秘密鍵「id_rsa」を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/78cda63e-fd03-9653-19c9-bd94188a78ca.jpeg" width=400>
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/db4172cb-06ba-865c-6777-e5ebbca58db0.jpeg" width=300>
<br>
* 接続
[OK]をクリックすると接続されます
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/0ff0c07b-233f-056d-7d2d-bcf225d379d2.jpeg" width=400>
##Tera Termで自動ログイン
毎回ユーザ名、パスフレーズを入力と秘密鍵を選択をするのは面倒ですので、自動でログインできるように設定します。
* 「TeraTerm Menu」起動
メニューから[すべてのプログラム]-[Tera Term]-[TeraTerm Menu]を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/61bebcf8-9ce9-6369-6b69-89fe5c2383e9.jpeg" width=400>
タスクバーに常駐する
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/7a4859eb-ae96-1b85-6edf-df8df87dbe53.jpeg" width=150>
右クリックでメニューを開き、[リスト編集]を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/34bb4694-5b3f-34b5-3014-4afe9440ee96.jpeg" width=150>
<br>
* 設定
* 登録名:さくらVPS(任意の名称でOK)
* 起動の種類
* 自動ログインにチェック
* ホスト名:153.126.209.124:2022 ←「:」の後にポート番号を記入する。
* ユーザ名:sakura
* パスワード:鍵生成時の「鍵のパスフレーズ」を設定。
* 鍵ファイル:[…]をクリックし、秘密鍵「id_rsa」を選択。
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/7611e1d6-4e0d-2faa-bad5-c030a0dece19.jpeg" width=30> で保存。左のリスト項目に入る。
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/56dd84da-dd82-43d9-c1cd-189aaa3aa188.jpeg" width=400>
<BR>
* 起動
タスクバーのアイコンを左クリックし、表示された名称を選択すると起動する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/43f32480-8f0f-a91b-46c7-0a0022aff90e.jpeg" width=180>
#次回
SSHの設定が完了しました。
次回は、今回作成した一般作業用のユーザで接続して、ApacheとPHPをインストールします。
前回:[CentOS7インストール](https://qiita.com/Qsugi/items/4cc4ba9983191a306b19)
次回:[Apache・PHPインストール](https://qiita.com/Qsugi/items/bf9740f31b4c42eaad91)