wata.dev

[まとめ] さくらのVPSを借りたらまず最初にすべき6のこと

IMG_0529さくらのVPSは、ネットで申し込んでクレジットカードの情報とか登録すると、「お申込受付完了のお知らせ」、「[さくらのVPS] 仮登録完了のお知らせ」メールが届いて即使用可能なのがいい!(他の使ったことないから知らないけど)
ちなみに「仮登録」なのは試用期間が2週間あるからで、試用期間が終了すると自動的に「本登録」に移行するらしい。

▼参考

1. VPSコントロールパネルにログイン

「[さくらのVPS] 仮登録完了のお知らせ」メールより

《VPSコントロールパネル ログイン情報》

VPSコントロールパネルでは、仮想サーバのリセットやリモート
コンソールでの接続、OSの再インストールなどを行うことができます。

URL : https://secure.sakura.ad.jp/vpscontrol/
IPアドレス: XXX.XXX.XXX.XXX
パスワード: XXXXXXXXXXXXXXXXXXXXXXXX

メールに記載されている URL にアクセスして、コントロールパネルに“IPアドレス”と“パスワード”でログインしたら、とりあえず[起動]を押してサーバーを起動させる。ステータスが「稼働中」になったのを確認。

2. ssh 接続

次に、おもむろに Mac なら terminal など立ち上げ、ssh 接続してみます。

※“OS再インストール”を行った場合は root のパスワードが生きてるので注意

$ ssh root@xxxxxxxxxx.sakura.ne.jp # root@"hostname"を入れる
The authenticity of host 'xxxxxxxxxx.sakura.ne.jp (xx.xxx.x.xx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'xxxxxxxxxx.sakura.ne.jp,xx.xxx.x.xx' (RSA) to the list of known hosts.
root@xxxxxxxxxx.sakura.ne.jp's password:

SAKURA Internet [Virtual Private Server SERVICE]

[root@xxxxxxxxxx ~]#

そのサーバに初めて接続するときは~/.ssh/known_hostsにサーバの公開鍵を登録してよいか、確認メッセージが表示されるので、良いなら“yes”。これでssh接続は成功。「VPS使ってみよう!」と思い立ってからここまでたぶん10分ぐらい。

3. root のパスワード変更&通常時使うユーザ作成

初期設定のパスワードから必ず変更しておきましょう。

[root@xxxxxxxxxx ~]# passwd
Changing password for user root.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

したら、通常時使うユーザを作成しときます。
root権限が必要なときは“sudo”など付けて使うようにしましょう。そちらの設定は後述。

[root@xxxxxxxxxx ~]# useradd hoge
[root@xxxxxxxxxx ~]# passwd hoge
Changing password for user hoge.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

作成したら“exit”で一度ssh接続を切る。

4. 公開鍵でログインできるようにする

自分のPC(MacOSX)でカギを生成します。ターミナルで、

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hoge/.ssh/id_rsa): # [Enter]押す
Enter passphrase (empty for no passphrase): # 好きなパスフレーズを入力
Enter same passphrase again: # もう一度入力
Your identification has been saved in /Users/hoge/.ssh/id_rsa.
Your public key has been saved in /Users/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
・・・・ hoge@client
The key's randomart image is:
+--[ RSA 2048]----+
|
|図みたいなのが出る
|
+-----------------+

これで公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が生成されたので、公開鍵の方をさくらVPSに転送。

$ scp ~/.ssh/id_rsa.pub hoge@xxxxxxxxxx.sakura.ne.jp:~/id_rsa.pub 
hoge@xxxxxxxxxx.sakura.ne.jp's password: # ユーザhogeのパスワード入力
id_rsa.pub                                         100%  401     0.4KB/s   00:00

そしたら再度 ssh 接続(作成したユーザで)して公開鍵が使えるように設定。

$ ssh hoge@xxxxxxxxxx.sakura.ne.jp

# ちゃんとファイルがあるか確認
[hoge@xxxxxxxxxx ~]$ ls
id_rsa.pub # ある!

# .sshディレクトリ作る
[hoge@xxxxxxxxxx ~]$ mkdir .ssh

# 今作ったディレクトリのPermissionを変更
[hoge@xxxxxxxxxx ~]$ chmod 700 .ssh

#.sshに移動
[hoge@xxxxxxxxxx ~]$ cd .ssh

# authorized_keysファイルを作成
[hoge@xxxxxxxxxx .ssh]$ touch authorized_keys

# カギの中身をauthorized_keysに写す
[hoge@xxxxxxxxxx .ssh]$ cat ~/id_rsa.pub >> authorized_keys

# Permissionを自分だけが読めるように
[hoge@xxxxxxxxxx .ssh]$ chmod 600 authorized_keys

上の設定が完了したら、一度接続を切って実際にログインしてみます。

$ ssh hoge@xxxxxxxxxx.sakura.ne.jp
Identity added: /Users/hoge/.ssh/id_rsa (/Users/hoge/.ssh/id_rsa)

最初だけ公開鍵生成のところで入力したパスフレーズを聞かれる(PC のダイアログで)が、“Identity added”されるのでその後は何も入力しないでログインできる。

追記: うまくいかないときは権限が正しいかを確認

5. sshd_config を編集

sshd_configを編集して以下を行います。

  • ポート番号を変更
  • rootログイン禁止
  • パスワードでのログイン禁止(公開鍵でのログインのみに)

※viの使い方はviエディタの使い方を見ながら。

[hoge@xxxxxxxxxx ~]$ su - 
Password:
[root@xxxxxxxxxx ~]# vi /etc/ssh/sshd_config
     : 
# ポート番号を22(デフォルト)から10022へ変更 
# Port 22 
Port 10022 
     : 
# rootでのログインを不可に
#PermitRootLogin yes
PermitRootLogin no 
     : 
# 公開鍵でのログインのみに
#PasswordAuthentication yes
PasswordAuthentication no

編集したら[esc]で編集モードを抜けて、コマンド”:wq“で保存する。
でsshdを再起動。

[root@xxxxxxxxxx ~]# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

これで、

  • sshでrootではログインできない
  • ユーザには上記で公開鍵が設定してあるので何も入力しないでログインできる

が確認できると思います。

※ポート番号を変更した場合は、以後、接続時にポートを指定する必要があります

$ ssh -p 10022 hoge@xxxxxxxxxx.sakura.ne.jp

毎回こんな長いの打つの面倒!という方は後述の方法が便利。

6. sudo の設定

最後にユーザがsudoできるように設定します。

まずユーザをwheelグループに所属させます。

[hoge@xxxxxxxxxx ~]$ su -
Password:
[root@xxxxxxxxxx ~]# usermod -G wheel hoge

次にwheelグループに属するユーザへsudoを許可します。

[root@xxxxxxxxxx ~]# visudo

# 以下の行のコメントアウトを外す
# %wheel  ALL=(ALL)       ALL

# 変更後
%wheel  ALL=(ALL)       ALL

これでユーザでsudoできるようになってるはず。
下記のような感じでrootになれるか確認する。

[hoge@xxxxxxxxxx ~]$ sudo su -

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for hoge: # ※注意※ ここではユーザhogeのパスワードを入力
[hoge@xxxxxxxxxx ~]#

なんか“We trust …“みたいなメッセージが出てるけど、要は「“sudo”を使うときは本当に気をつけてね」みたいな感じ。

追記1. iptables 設定

CentOS/iptables - ひつじ帳 でとても詳しくわかりやすく解説してくれているので、一緒に読みながら進めていけば簡単!

こんな感じ(参考までに)。

*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

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport xxxxxxxxxx -j ACCEPT
COMMIT

追記2. 不要なデーモンを停止

“sudo su -“で root になったらひたすら”chkconfig …“でデーモンを停止していきます。詳しくはリンク先で。

で、「5. 要らないコンソールを無効にします」ですが、こちらはデフォルトでコメントアウトされていました。ので不要。同様に記事中「6. selinuxを無効にします」もデフォルトで off になっていたので不要。

追記3. ログイン情報を設定

Macの場合、“/Users/hoge/.ssh/config”に ssh のログイン情報を設定しておくとログインするとき便利。

Host sakura
	HostName xxxxxxxxxx
	User hoge
	Port 10022
	IdentityFile ~/.ssh/sakura/id_rsa

これでターミナルから「ssh sakura」でログインできる!

enjoy!

--
* さくら社長の記事にある、「3. 次にiptablesを設定します。」、「4. 次に不要なデーモンをストップします」を追記しました。

* 「ログイン情報を設定」を追記しました。

もはやタイトル詐欺と化している件。

ブログの記事一覧