スポンサードリンク

2013年5月15日水曜日

さくらVPS最初に設定すること

まずは、文字環境の日本語化とユーザの登録とSSH接続のセキュリティ設定をする。

以降、自分の環境はMac OS Xなのでターミナル経由での接続とする

前提として、CentOSを使用する。

0.ホスト名を変更する
/etc/hosts
/etc/sysconfig/network
を変更する


0.sudoを行えるようにする。
まずsudoがインストールされているか確認する
$yum list installed | grep sudo

インストールされていない場合 suになり、インストール
$su -
#yum install sudo -y

/etc/sudoersがあるか確認
#ls /etc | grep sudoers

/etc/sudoersにユーザを追加するが、これはsuでviで開いても編集できない。
visudoコマンドで/etc/sudoersが編集可能なので、このコマンドで行うこと

#visudo

viの中で%wheel で検索 (コマンド入力モードで/%wheelと入力する)
その近辺にsudoコマンドを許可したいユーザを列挙していく。
ユーザ名  ALL=(ALL)   ALL

もしグループで登録したいときは
%グループ名 ALL=(ALL) ALL
とする。
ちなみにALL=(ALL) ALLは、実行可能なコマンドなどの詳細設定だが、
詳細は、visudoのマニュアルを参照のこと。

これでCentOSでもsudoが使えるようになるので確認する。
#exit
※試しに、httpデーモンを再起動してみる。
$sudo /etc/rc.d/init.d/httpd restart

パスワードの入力が促され、正しく認証できたら実行できるはず。

0.文字環境を日本語化する
さくらVPSのデフォルトOSであるCentOSは、英語環境らしい。
なので、のちのち日本語が含まれたファイルをVPSコントロールパネルの
コンソール以外のSSH関係のソフトのviで開くと、文字化けが起きてしまう。
だから以下設定をして日本語環境にする

#cp /etc/sysconfig/i18n /etc/sysconfig/i18n_org

#vi /etc/sysconfig/i18n

#LANG="C"
LANG="ja_JP.UTF-8"

いったんSSH終了する
#exit

#printenv | grep LANG
LANG=ja_JP.UTF8
と表示されるOK

1.サーバへSSH接続する
(client)$ssh root@サーバIP

2.ユーザを作成する
(Server)#adduser hogehoge
(Server)#passwd hogehoge

Webサイトのドキュメントルートアクセス用に
ユーザにwww グループにwwwを追加する
wwwグループ追加
#groupadd www
グループにパスワード付与
#gpasswd www

wwwユーザ追加
#useradd www
wwwユーザにパスワード付与
#passwd www

メインのユーザをwwwグループに追加
このとき-Gとすること -gとするとプライマリグループを変更してしまうので注意
#usermod -G www ユーザ名

最後にちゃんと登録されているか確認
cat /etc/group | grep www

※HTTPの設定のUser Groupをwww wwwに後で変更すること
 また、ドキュメントルートは、755 もしくは 644にすること


3. sshd設定を変更する
(Server)#vi /etc/ssh/sshd_config

(1) #Port 22を変更する
Port 任意のポート番号

(2)SSH接続でrootに直接ログインすることを禁止の編集
PermitRootLogin no

4. SSHデーモン再起動
(server)$/etc/init.d/sshd restart

5.クライアント側で鍵ペアを作成する
(client)$ssh-keygen

Enter File in which to save the key.... と聞かれるのでそのままENTER
Enter passphrase : 任意のパスワードを入力する
もう一度同じパスワードを入力する

6.~/.ssh/にid_rsaとid_ras.pubができていることを確認する
id_rsaが秘密かぎ
id_rsa.pubが公開鍵

7.公開鍵をさくらVPSにscp転送する
(client)$scp -P SSH設定のポート(デフォルトは22) .ssh/id_rsa.pub ユーザ名@サーバIP:~

8.サーバへ接続
(client) ssh ユーザ名@サーバIP -p ポート

9.サーバ側でユーザの公開鍵をセットするための設定をする
(server) $mkdir .ssh

(server) $chmod 700 .ssh
(server) $mv id_rsa.pub .ssh/
(server) $cd .ssh
(server) $touch authorized_keys
(server) $cat id_rsa.pub >> authorized_keys
(server) $chmod 600 authorized_keys
※authorized_keysファイルを作成する
(公開鍵を書き込んでおくファイル sshdはこれを確認するので必ず必要。)

10.ssh接続認証設定を変更する
(Server)#vi /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
※%hは各ユーザのホームディレクトリ

11. sshを再起動
#/etc/init.d/sshd restart

12. いったんサーバからでる
#exit

13. クライアントからssh接続して接続できることを確認
ssh ユーザ@サーバIP -i .ssh/id_rsa -p 設定ポート番号
または
ssh ユーザ@サーバIP -p 設定ポート番号

<おまけ>
クライアントの.sshにconfigファイルを作成し
以下を書き込むとより簡単に接続できる。
複数のサーバをターミナルで管理する場合は、同じ記述を複数繰り返せばよい。
ただし、id_rsa id_rsa.pub は id_rsa.サーバ名 id_rsa.pub.サーバ名
とすること。

ssh 設定サーバ名

Host 設定サーバ名
    HostName サーバIP または ドメイン
    User ユーザ名
    Port 設定したポート
    IdentityFile ~/.ssh/id_rsa.サーバ名1
Host 設定サーバ名

    HostName サーバIP または ドメイン
    User ユーザ名
    Port 設定したポート
    IdentityFile ~/.ssh/id_rsa.サーバ名2


Host 設定サーバ名

    HostName サーバIP または ドメイン
    User ユーザ名
    Port 設定したポート
    IdentityFile ~/.ssh/id_rsa.サーバ名3

以上

0 件のコメント:

コメントを投稿