次のステップアップの為に、さくらのVPSを借りてみました。
今後の為に備忘録として、手順を残していきます。
ちなみにコマンド操作については、Tera Termを使用しています。
1.サーバーの起動
さくらのVPSを契約すると、[さくらのVPS] 仮登録完了のお知らせというメールが届きます。《VPSコントロールパネル ログイン情報》も一緒に記載されていますので、URLに飛んでコントロールパネルにログインします。
移動後、「仮想サーバ操作」の【起動】を選択しますと、サーバーが起動します。
コントロールパネルには、他にも「リモートコンソール」や「OS再インストール」のメニューがあります。
「VPSホーム」…サーバーの起動・停止・再起動を制御する事ができます。
「リモートコンソール」…ブラウザ上のコンソールでコマンド実行をおこなえます。
「OS再インストール」…サーバーを初期状態に戻せます。(サーバーが不安定になったり、起動が不能になったときなど)
2.rootのパスワードを変更し、ユーザーを作成する
初期ではrootのユーザーだけしかありませんのでメールにも警告されているように、rootのパスワードを変更します。
Tera Termを起動し、IPアドレス・アカウント・パスを入力し、ログインします。
まずは root のパスワードを変更します。
passwdと入力してEnterキーを押すと、新しいパスワードと確認の計2回、入力を求められます。成功すると以下のようになります。
# passwd Changing password for user root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
次に、作業をおこなうユーザーを作成します。
ここではexampleというユーザーを作成します。
# adduser example # passwd example
passwdの後にユーザーを入力してEnterキーを押すと、新しいパスワードと確認の計2回、入力を求められます。成功すると以下のようになります。
Changing password for user example. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
これでユーザが追加されましたが、rootになれるユーザは管理者グループに所属するユーザのみにしたいので、管理者グループに追加します。
# usermod -G wheel example
wheelに属するようになったはずだが、本当になっているかを idコマンドで確認します。wheelに属しているならば、下記のようにgroupへ10(weel)という表記が加わります。
# id example uid=500(examplea) gid=500(example) groups=500(example),10(wheel)
次は、wheelグループに属するユーザへ、sudo を許可する設定をします。root になっている状態で visudo コマンドを実行します。
sudoの設定ファイルが起動されますが、その中に、wheelの実行権限がコメントアウトされているので、以下のように変更します。
## 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
3)公開鍵の設定
Tera Termを起動したら [設定] – [SSH鍵生成] を選択します。
鍵の種類:RSA
ビット数:2048(※Portの値)
「生成」ボタンを選択

鍵のパスフレーズ:任意のパスを入力します
パスフレーズ:もう一度入力
「公開鍵の保存」をクリックします。
このファイルを仮id_rsa.pubとして保存。
「秘密鍵の保存」をクリックします。
このファイルを仮id_rsaとして保存。
鍵の生成(ROOTでログインして作業)
# cd /home/example (ユーザーディレクトリに移動) # mkdir .ssh (.sshディレクトリを作成) # ls -a (.sshが作成されたか確認) # chmod 700 .ssh (.sshディレクトリの権限をexampleに変更) # chown -R example:example .ssh (所有者をrootからexampleに変更) # ls -la (念のため確認)
先程、作成したid_rsa.pubの中身をまるごとautorized_keysにコピペして保存。
# vi ./.ssh/authorized_keys (公開鍵ファイルを作成、編集)
これで、設定は完了。
一旦作成した鍵でログイン出来るか試してみましょう。
poderosaの公開鍵の設定はこちら
4)Portの変更
SSH の接続にはポート 22 番を使用してますが、そのままにしておくと攻撃対象になるので、Portを変更する。sshdの設定ファイルを開く
# sudo view /etc/ssh/sshd_config
# The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options change a # default value. #Port 22 Port *********の部分に数値を入れる。設定をおこないファイルを保存したら、sshd を再起動する。成功すれば、以下のように OK と表示される。
# sudo /etc/rc.d/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
ここまでの設定が適切に反映されているならば、ポート 22 番を指定して SSH 接続するとエラーになります。
新しいポート番号を指定することで。従来どおり接続できます。
5)sshdの設定変更
今の状態ではパスワード、公開鍵認証の両方が出来る状態ですのでROOTでのログインとパスワードでのログインをできないようにします。
# vi /etc/ssh/sshd_config
PermitRootLogin (rootのログインをno ) #PermitRootLogin yes ↓ PermitRootLogin no PasswordAuthentication (パスワードによるログインをno) #PasswordAuthentication yes ↓ PasswordAuthentication no
変更して保存後、sshdをリスタートします。
成功すれば、以下のように OK と表示される。
# /etc/init.d/sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
6)パスを通す
sudoでコマンド実行することが多いコマンドのPATHを通します。# vi ~/.bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin ----追加------- PATH=$PATH:/sbin PATH=$PATH:/usr/sbin PATH=$PATH:/usr/local/sbin ----追加------- export PATH
保存したら再ログインするか、以下のコマンドで反映する。
# source ~/.bash_profile
⇒ さくらのVPSを使ってみる【2】 – iptablesの設定