〈さくらのVPS〉さくらのVPSをMacで設定する

借りたので遊ぶ。
メモ書きなので、あとでちゃんと整形します。

こちらを参考にさせていただきました。
(参考)さくらのVPSで最初にやっておくこと

1.サーバーを起動する

さくらのVPSコントロールパネルにログインする。
「起動」ボタンを押したら起動する。簡単。

2.Macのターミナルでログインする

Macのターミナルからrootでログイン。

$ ssh root@IPアドレス

接続して大丈夫ー? って聞かれるからyesで続行。パスワードを求められたら初期パスワードを入力する(パスワードは表示されない)

SAKURA Internet [Virtual Private Server SERVICE]

[root@******** ~]# 

ログイン成功したら上記の画面が出てくる(@*****はサーバー情報)

以下から[root@**** ~]は省略。

3.パスワードを変更する

真っ先にする。
ログイン画面から以下入力。

# passwd

日本語設定してたからかいきなり日本語で新しいパスワード入力してねって出てきてびっくりした。英語ちゃうんかい。

新しいパスワードを入力(表示されない)
再度入力(表示されない)
変更されたよ! って表示出てきたらOK。

# exit

でログアウトして新しいパスワードで再度ログインできたらオッケー。パスワード忘れたら再起動しか無くなる……。

4.設定ファイルのバックアップを取る

ひょっとしたら上の3と手順が逆かもしれないけどまあいいや。

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org

cpコマンドでコピー。特に何も入ってこないけどちゃんとコピーされているはず。

ポート番号を変更する。

# vi /etc/ssh/sshd_config

以下の行を探す。

#Port 22

これを

Port 10022  # 適当な数字に(1024~65535の範囲で)

再起動して有効化。

# service sshd restart

エラーがなければOKとでる。アプリケーションもアップデートする。

# yum -y update

5.root以外の作業用ユーザーを設定する

rootは最強なので常に最強を使っていると危ないから、もうちょっと下のランクの権限でサーバーを触れるようにする。

# useradd username

useraddでユーザー追加。usernameは任意。

# passwd username

でusernameのパスワードを設定。

6.作業用ユーザーでsudoできるようにする

sudoコマンドは作業用ユーザーでもroot権限を使用できる裏技なのだ!

まずユーザーをwheelグループに追加。

# usermod -G wheel username

wheelグループがsudoを使えるようにする。

# visudo

以下の行のコメントアウトを外す。

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL

日本語にする。

# vi /etc/sysconfig/i18n

設定ファイルを開いて、

LANG="C"

LANG="ja_JP.UTF-8"

に変更。 ログアウトして再ログインで設定が有効になる。

7.鍵認証でログインするよ

パスワード認証だとセキュリティ低いので鍵でsshログインするようにする。

Macで鍵(秘密鍵と公開鍵)を生成。

$ ssh-keygen -t rsa -v

保存場所とパスフレーズを聞かれるので、そのままenterでOK。

Macのホームディレクトリのsshフォルダ(通常見えない)に生成されているはず。

Macのデスクトップメニューの「移動 > フォルダへ移動」で以下のパスを打って確認できる。

~/.ssh

公開鍵の方をサーバーに転送する。

$ scp -P 10022 ~/.ssh/id_rsa.pub username@IPaddress:~/

パスワードを聞かれるよ。

転送できたら作業用ユーザーでログイン。

鍵を登録する。 鍵の名前を変更して、パーミッションも変更。

フォルダを作成

$ mkdir .ssh

鍵をauthorized_keysに

$ mv id_rsa.pub .ssh/authorized_keys

パーミッションの変更

$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

ログアウトして再ログインするとパスワード聞かれないはず。 やったね! まあ、パスワード認証ログインやrootでのログインも出来るんだけど。

できないようにするには、

$ sudo vi /etc/ssh/sshd_config

設定を開いて

# パスワード認証でログインできないように
PasswordAuthentication yes

# rootでログインできないように
#PermitRootLogin yes

上記2項目を

PasswordAuthentication no

PermitRootLogin no

に変更。 再起動して変更を反映。

$ sudo service sshd restart

8.Firewall(iptables)の設定

セキュリティを高めよう。

設定ファイルを作るところから。

$ sudo vi /etc/sysconfig/iptables

viで編集。

*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022  -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80        -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

保存して終了。iptablesを起動して設定を適応。

$ sudo service iptables start

現在の設定確認は以下コマンド。

$ sudo iptables -L

OSの再起動時にiptablesが自動で起動するようにしておく。

まず自動起動が有効かチェック

$ chkconfig --list iptables

上の結果で 3:on となっていなければ

$ sudo chkconfig iptables on

もう一度チェック

$ chkconfig --list iptables

設定終了!

とりあえずここまででvpsの設定終わりー。