サーバー構築もやってみると楽しい(CentOS7導入、SSHサーバの立ち上げ)

2017年3月24日金曜日

仮想環境

t f B! P L
CentOS7





仕事では普段ネットワーク関連の機器設定・設計、たまに運用サーバの設定変更・ログ確認といった割合で、サーバーについてはさほど触る機会がありませんでした。

そして最近触る機会が訪れました。
CentOS7を導入しsquidサーバーを立ち上げてみます。



(スポンサーリンク)

CentOS7のインストール


インストール用DVDのISOイメージファイルをダウンロード

https://www.centos.org/download/ のページからDVDISOをクリックしてイメージを選択。
ローカルに保存します

CentOS7インストール

仮想環境へのインストール


仮想マシンを作成します。
メモリ1GB、HDD100GBほど確保。

先ほどダウンロードしたISOイメージをマウントして起動すればインストーラーが立ち上がります。

最初の画面で日本語を選択できます。


CentOS7日本語

インストールオプション


インターネット接続環境があれば、あとからyumコマンドでインストール出来るので、最小限のインストールでも問題ありません。

GUI環境を使いたい場合、ここでGNOME Desktop等を選択します。

CentOS7ソフトウエアの選択

インストール先


自動構成で問題ないですが、勉強のためパーティションを自分で構成してみました。
CentOS7手動パーティション設定

LVM→標準パーティションに変更

+ボタンをクリックして割当領域を設定
/boot     1GB
swap   2GB    (通常、メモリ容量の2倍を設定する)
/       残り容量全割当
新規マウントポイントの追加

「割り当てる領域」を空白のまま「マウントポイントの追加」をクリックすれば、HDDの残り容量を全割当になります。
新規マウントポイントの追加

/bootと/のファイルシステムはext4にしています。
(何かトラブルがあった際に情報を集めやすそうだったので)

swapのファイルシステムはswapを選択
swap

終わったら画面左上の「完了」 をクリックします。

この辺りが若干分かりにくいですね。
(通常、アプリの画面構成ではボタンが右下にボタンがあるので)



変更を許可します。
変更の許可







ネットワーク設定


IPアドレスやルーティング、ホスト名を定義します。
すぐネットワークに接続できるようにしておいたほうが便利ですからね。


IPv6は使わないから「無視する」を選択して無効化します。
(IPv6を使う機会はいつになるのやら・・・)


ネットワーク設定






インストールを開始ボタンをクリックすれば、インストールが開始されます。
次の画面でrootのパスワードを設定できるため、設定をしておきます。


完了すれば最低限のOS環境が立ち上がった状態になります。



ただこのままではSSH接続もできないため、SSH接続の環境を構築します。


SSH環境の構築


SSHの設定ファイル

/etc/ssh/sshd_config
作業する前にコピーしてバックアップを取得、簡単に戻せる状態にしておきます。


ポート番号

#Port 22からコメントを外し、ポート22を使うよう明示します。
セキュリティを上げるなら別のポート番号にしてしまうのも一つの手ですね。
#Port 22→Port 22


SSHプロトコル

#Protocol 2からコメントを外しプロトコール2を使うよう明示
#Protocol 2→Protocol 2


ログイン設定

セキュリティのため、rootログインの許可を行えないように設定します。
PermitRootLogin no


セキュリティのため、パスワードなしでのログインを行えないように設定します。
PermitEmptyPasswords no


パスワードでログインできるように許可します
PasswordAuthentication yes


よりセキュリティを上げる場合は、認証失敗は何回まで許可など色々制限ができますが、割愛。


設定の反映

systemctl reload sshd、またはsystemctl restart sshd



reloadとrestartの違いをヘルプで見ると・・・なるほど、わからん
systemctl --help
  reload NAME...                  Reload one or more units
  restart NAME...                 Start or restart one or more units



アカウント作成

先程rootでのssh接続を不許可に設定したので、ssh接続用アカウントを作成します。
testlogin というユーザ作成の場合

# useradd testlogin            ユーザ名定義
# passwd testlogin            パスワード定義

Changing password for user testlogin.
New UNIX password:            パスワードを入力。未表示
Retype new UNIX password:        パスワードを再入力。未表示
passwd: all authentication tokens updated successfully.



firewall設定


アカウント作成して試したところ、ログイン出来ませんでした(←なぜか楽しい)


SSHサーバーの待ち受けポート番号を変えている場合、デフォルトで稼働しているF/W機能でポート許可の設定をチェックします。
 

firewall-cmd --list-all --permanentで許可している設定が確認できます。

おそらくデフォルトでは以下のように表示され、許可されています。

services: dhcpv6-client ssh


sshの表記がなかった場合は以下のコマンドで追加
firewall-cmd --permanent --add-service=ssh

再起動コマンド
firewall-cmd --reload



ログインが出来た!(←嬉しい)


一つ一つ問題を潰して、使える環境を構築していくのは楽しいですね。

ブログ内記事を検索

書いてる人

まったりと生きているネットワークエンジニアです。
指先ひとつで基幹ネットワークがダウンさ(トラウマ事例)
サーバー周りは勉強中。
当サイトは、アフィリエイト広告を利用しています

フォロワー

QooQ