▼さくらのVPSにSSHで接続します。
$ ssh root@[IPアドレス]
▼システムを最新の状態に。
yum update
▼日本語化
vim /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
▼作業用ユーザ作成
useradd [作業用ユーザー名]
作業用ユーザのパスワードを設定
passwd [作業用ユーザー名]
wheelグループに追加
usermod -G wheel [作業用ユーザー名]
wheelグループのユーザーがsudoコマンドを使えるように設定
visudo
#%wheel ALL=(ALL) ALLという文を探し、コメントアウトを解除
%wheel ALL=(ALL) ALL
scp
クライアント側(自分のパソコン)に戻り、作成したユーザーでログインできるか確認
$ ssh [ユーザー名]@[IPアドレス]
▼鍵認証を設定
☆さくらVPSのホームディレクトリに鍵の保管場所
$ pwd
/home/[ユーザー名]
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
★クライアント側(自分のパソコン)での作業
鍵のペアを生成(秘密鍵、公開鍵)
ssh-keygen -t rsa -v
質問にはすべてエンターキーでOK
公開鍵のパーミッションを変更
chmod 600 ~/.ssh/id_rsa.pub
scpコマンドで公開鍵をauthorized_keysというファイル名でさくらのVPS側に転送
scp ~/.ssh/id_rsa.pub [ユーザー名]@[アドレス]:~/.ssh/authorized_keys
☆さくらVPS
公開鍵がきちんと転送できているか確認
$ ls -la .ssh
★クライアント側
公開鍵でログインできるかを確認
ssh -i ~/.ssh/id_rsa [ユーザー名]@[IPアドレス]
パスワードを聞かれずにログインできれば成功!
▼SSHの設定
設定ファイルをバックアップ
cp /etc/ssh/{sshd_config,sshd_config.bk}
編集
#vim /etc/ssh/sshd_config
ポート番号をデフォルトから変更[設定範囲:22 - 65535]
Port 10022
パスワードログインの禁止
PasswordAuthentication no
rootログインの禁止
PermitRootLogin no
設定を反映
service sshd restart
★クライアント側
ログインできるかを確認
ssh -p [ポート番号] [ユーザー名]@[IPアドレス]
▼ファイアーウォールを設定
iptablesファイルを作成
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
SSH, HTTP, FTP1, FTP2, MySQL
-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 -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
設定を反映する
# service iptables start
設定を確認する
iptables -L
自動起動の設定を確認
$ chkconfig iptables --list
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
”3:off”という表示だった場合、自動で起動するように設定