OSなど確認
まずはさくらVPSのコンソールから自分の使ってるOSの確認。
間違っていたらこの時点でOS再インストールをかけます。
# cat /etc/redhat-release
CentOS release 6.4 (Final)
# vim /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5645
cpu MHz : 2400.032
cache size : 4096 KB
・・・
ユーザー作成
ローカルのターミナルを起動してsshでサーバにログイン。
xxx.xxx.xxx.xxxは今回のサーバのIP。
$ ssh root@xxx.xxx.xxx.xxx -p 22
ログイン用のユーザーUSER_NAME(名前は自由)を作成。
# useradd USER_NAME -G wheel
# passwd USER_NAME
# この USER_NAME のところに自由にユーザー名を指定
確認します。
$ id satomi
uid=500(satomi) gid=500(satomi) 所属グループ=500(satomi),10(wheel)
yumのアップデート
とりあえず、これはやっときます。
yum を最新状態に。OSとかもアップデートされる場合もあります。
でもだいたい最新だと思いますが….
$ sudo yum update
sudoの設定
UNIX系のOSにある、一般ユーザーに 一時的にroot権限を与える コマンド sudo
わざわざ root になって作業するより、セキュリティ的にだいぶ良いので、かなり使います。
設定しましょう。
sudo vim /etc/pam.d/su
--------
# auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
--------
コメントアウトを外します。
root権限を使えるグループをwheelに指定します。
$ sudo vim /etc/login.defs
--------
SU_WHEEL_ONLY yes
--------
ファイルの最終行に上の一行を追加ます。
ちなみにvimで最終行に行くには *Shift+g* で行けます。
指定行には */ + [行きたい行数]* もしくは *[行きたい行数] + Shift+g* です。
$ sudo visudo
--------
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
# %wheel ALL=(ALL) ALL
↓
%wheel ALL=(ALL) ALL
--------
Rootでのログインを禁止
$ sudo vim /etc/ssh/sshd_config
--------
PermitRootLogin no
PasswordAuthentication no
--------
SSHのポート番号を変更
$ sudo vim /etc/ssh/sshd_config
--------
Port xxxxx
--------
この行をファイルの一番下に追加。 xxxxxは 0 ~ 65535 の間で選択可能。(ホントは49152 ~ 65535という指定があるのですが、今は気にしなくても大丈夫。詳しく知りたい場合はコチラ⇒http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7)
ssh鍵の設定
まず、サーバに~/.ssh/フォルダを作成します。
su - USER_NAME
mkdir ~/.ssh/
chmod 700 ~/.ssh/
サーバからログアウトして、ローカルサーバで作業開始です。
まず、鍵を作ります。
ssh鍵は基本ホームディレクトリとかにある .sshというディレクトリにあります。
今回の分を作成するにあたり、.ssh以下に適当な名前のディレクトリを作ります。
私はsakuraにしました(^_^;)
そしてそこで鍵を作ります。
$ mkdir ~/.ssh/[vpsの名前]/
$ cd ~/.ssh/[vpsの名前]/
$ ssh-keygen -t rsa
名前の指定部分⇒ id_rsa.[vpsの名前等]
パスワード⇒ ご自由に
ls
そうすると鍵が出来ていることがわかると思います。
この .pub の方の鍵を、 scp を使ってサーバーに送ります。
サーバーに .ssh/authorized_keys というディレクトリを作成し、その下に鍵を置きます。
$ scp id_rsa.[vpsの名前].pub root@xxx.xxx.xxx.xxx:/home/USER_NAME/.ssh/authorized_keys
さて、再度サーバーに戻ります。
scpでサーバーに送りつけたディレクトリ毎、所有権とアクセス権限を変えます。
以下のコマンドの最後の方で sshd restart をかけます。
この時、今までの設定してきたデータが反映されることになります。
つまり、 rootでのsshアクセスができなくなります。
$ ssh root@xxx.xxx.xxx.xxx -p 22
# su - USER_NAME
$ sudo chown USER_NAME:USER_NAME ~/.ssh/authorized_keys # ご自身の.sshのパスを参照して下さい
$ chmod 600 /home/USER_NAME/.ssh/authorized_keys
$ sudo/etc/init.d/sshd restart
$ exit
これで一旦サーバー周りは完了です。
また、ローカルに戻ります。
ssh でのコマンド入力を簡易化させるための設定をします。
$ vim ~/.ssh/config
--------
Host [任意のお名前(私はsakura01とかにしました)]
HostName xxx.xxx.xxx.xxx
Port [サーバーで決めたPort番号]
User USER_NAME
identityfile ~/.ssh/VPS_NAME/id_rsa.[vpsの名前] # ←ここは.pubじゃありません。.pubはサーバーに送った公開鍵で、ローカルにある鍵のことは秘密鍵といい、ここでは秘密鍵の指定をします。
--------
これで以下のように簡単にアクセスコマンドがうてます。
$ssh [先ほど指定した任意のお名前]
// ssh sakura01 ←私の場合
ちなみにこれをしないと以下の様なコマンドをほぼ毎回打つことになります。
$ ssh USER_NAME@HostName -p [ポート番号] -i [鍵のパス]
めんどいですね(((( ´,,_ゝ`)))) ププッ プルプルッ
sshの接続ホストの制限
$ sudo vim /etc/hosts.allow
--------
ALL: 127.0.0.1
sshd: .jp
--------
$ sudo vim /etc/hosts.deny
--------
sshd: ALL
--------
この先
これで、サーバーへのアクセス環境は整いました。
次はファイヤーウォールなどの設定をします。