さくらVPSの初期設定
VPSにアクセス
以下のコマンドでVPSにアクセスする.
$ ssh root@IPaddress
rootのパスワードを変更する.
# passwd #新しいパスワードを入力
ポート番号の変更
ポート番号を22(デフォルト)から10022に変更をする.
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org #オリジナルをバックアップ # vim /etc/ssh/sshd_config
以下のように編集.
#Port 22 Port 10022
sshを再起動.
# service sshd restart
これで次からは以下のようにポート番号を指定してログインする.
$ ssh -p 10022 root@IPaddress
ユーザの作成
ユーザの作成とパスワードの変更をする.
# useradd username #ユーザの追加 # passwd username #追加したユーザのパスワードを変更
ユーザをwheelグループに所属させて,sudoとsuコマンドが使えるようにする.
# usermod -G wheel username # visudo
以下のように変更する.
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
ここからは次のように,rootではなく,作成したユーザを用いてアクセスする.
$ ssh -p 10022 username@IPaddress
鍵認証の設定
クライアント側で秘密鍵と公開鍵を生成する.
$ ssh-keygen -t rsa -C "email@example.com" #パスワードを入力.
~/.ssh
に秘密鍵id_rsa
と公開鍵id_rsa.pub
が作成される.
作成した公開鍵をVPSに転送する.
$ scp -P 10022 ~/.ssh/id_rsa.pub username@IPaddress:~/
VPS側で~/.ssh
以下にauthorized_keysという名前で置く.
$ mkdir .ssh $ mv id_rsa.pub .ssh/authorized_keys
パーミッションの変更をする.
$ chmod 700 .ssh $ chmod 600 .ssh/authorized_keys
これで,以下のコマンドでログインしてもパスワードを聞かれない.
$ ssh -p 10022 aa_debdeb@160.16.55.217
ログインの制限
セキュリティのために鍵認証のみを用いるようにする. またrootでログイン出来ないようにする.
$ sudo vim /etc/ssh/sshd_config
# PasswordAuthentification yes PasswordAuthentification no #パスワードではログインできなくする # PermitRootLogin yes PermitRootLogin no #rootではログインできなくなる
sshを再起動する.
$ sudo servide sshd restart
パッケージのアップデート
パッケージを最新版にアップデートする.
$ sudo yum update
Firewallの設定
iptablesを使って,ファイアーウォールの設定をする
$ sudo vim /etc/sysconfig/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 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 #設定の確認
以上で初期設定完了.