その他

CentOS7でwgetが見つからない時

CentOS7でwgetコマンドを利用して、WordPressなどをダウンロードしようとして「コマンドが見つかりません」となる場合があります。

wget https://ja.wordpress.org/latest-ja.tar.gz
-bash: wget: コマンドが見つかりません

そんな時は、まずwgetコマンドを実行するためのモジュールがインストールされているか確認します。

yum list installed | grep wget

何も表示されなければインストールされていないため、下記の内容でインストールを行います。

yum -y install wget

以上で、wgetコマンドを実行することができるようになります。

iptablesで特定のIPアドレスからのアクセスを拒否する方法

今回は、VPSに不正アクセスを試みる特定のIPアドレスを拒否する方法をご説明します。
この記事を書くことになった理由として、下記のような不正アクセスを試みるログが確認されたことにあります。

Jul  5 20:51:27 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:51:29 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:51:30 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:51:30 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:11 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:13 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:14 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:14 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:21 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:24 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]

上記のログから何度も不正アクセスを試みようとしていることが確認できました。
これがひどい状況になるとメールの送受信ができなくなるなど、VPSの処理が停止することもあります。

特定のIPアドレスからのアクセスを拒否する設定

それでは、早速上記のログで確認された不正アクセスをしようとする接続元IPアドレスを拒否する設定を行ってみます。
接続拒否をする方法として、ファイアウォールを使用します。
root権限になって、コンソールに下記のように入力します。
※接続元IPアドレスの箇所は、拒否したいIPアドレスにしてください。

iptables -I INPUT -s 接続元IPアドレス -j DROP

iptablesに設定が追加されたか確認してみます。
下記のコマンドで確認ができます。

iptables -L

iptablesに設定が追加されると、下記の行が追加されます。

DROP       all  --  接続元IPアドレス        anywhere

このまま再起動すると、せっかく追加した設定内容が削除されてしまうため、下記のコマンドで設定内容を保存します。

/etc/rc.d/init.d/iptables save

そして、iptablesを再起動します。

/etc/rc.d/init.d/iptables restart

以上が、特定のIPアドレスからのアクセスを拒否する設定方法です。

まとめ

iptablesの設定は、一歩間違えると自らのアクセスも遮断してしまう可能性があるため、気をつけて作業しましょう。

さくらのVPSにMACのターミナルからSSH接続する方法

今回はMACのターミナルから、さくらのVPSにssh接続するための初期設定をご説明します。

さくらのVPSコントロールパネルにアクセスします。
コントロールパネルの右上「各種設定」の「OSインストール」から「標準OSインストール」を選択。
今回、インストールするOSは「CentOS x86_64」にします。

コントロールパネルの「>_コンソール」から「>_シリアルコンソール」を選択。
シリアルコンソールを立ち上げるとアップデートが始まりますので、全てのアップロードが完了後、OSインストール時に設定した新しい管理ユーザのパスワードでログインします。

aa1-234-56789.vs.sakura.ne.jp login : root
Password : (新しい管理ユーザで設定したパスワードを入力)

ログインできると下記の通り表示されます。

SAKURA Internet [Virtual Private Server SERVICE]

[root@aa1-234-56789 ~]#

VPSの日本語化

初期状態では、英語表示のみとなりますので、VPS応答時などの言語を日本語化します。

[root@aa1-234-56789 ~]# vi /etc/sysconfig/i18n

LANG=”C” の C の文字を削除し、 ja_JP.UTF-8 に変更します。
次に、ESCキーを押して編集モードを終了させ、 :wq を入力し、Enterキーを押して保存します。

LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

一度、VPSを再起動します。

[root@aa1-234-56789 ~]# reboot

一般ユーザの作成

管理者でログインして、一般ユーザを作成します。今回はユーザ名をsakuraにします。

[root@aa1-234-56789 ~]# useradd sakura

次にパスワードを設定します。

[root@aa1-234-56789 ~]# passwd sakura

作成した一般ユーザを管理者グループ(Wheel)に追加します。

[root@aa1-234-56789 ~]# usermod -G wheel sakura

作成した一般ユーザが管理者グループに追加されたか確認します。

[root@aa1-234-56789 ~]# groups sakura
sakura : sakura wheel

管理者グループ(Wheel)がsudoコマンドを使用できるように設定します。

[root@aa1-234-56789 ~]# visudo

編集画面が開いたら下記箇所の#(コメントアウト)を削除します。

# %wheel        ALL=(ALL)       ALL

(↓行頭にある#を削除)

%wheel        ALL=(ALL)       ALL

設定を保存します。
これで管理者グループに追加されているユーザはsudoを使えるようになります。

さらに、管理者グループ(Wheel)だけがsuコマンドを使用できるように設定します。

[root@aa1-234-56789 ~]# vi /etc/pam.d/su
#auth           required        pam_wheel.so use_uid

(↓行頭にある#を削除)

auth           required        pam_wheel.so use_uid

設定を保存します。
これで管理者グループに追加されているユーザのみがsuコマンドを使えるようになります。

MACからSSH接続するために必要な鍵の設定

MACからSSH接続するために必要な鍵の設定を行います。
まずは、MAC側でターミナルを立ち上げて、下記の通り鍵を作成します。

$ ssh-keygen

MAC内の鍵を保存する場所と鍵のファイル名を聞かれます。
そのままでも大丈夫ですが、/Users/user-name/.sshのディレクトリに分かりやすいように”id_rsa_sakura_vps”という名前を付けて鍵を作成します。

Enter file in which to save the key (/Users/user-name/.ssh/id_rsa): /Users/user-name/.ssh/id_rsa_sakura_vps

パスフレーズを聞かれるので、入力します。パスフレーズは鍵を使用する時に設定しますので、複雑かつ忘れないものを設定してください。

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

鍵が問題なく作成されているか確認します。

$ ls -al /Users/user-name/.ssh
-rw-------   1 user-name  staff  1766  1  3 07:20 id_rsa_sakura_vps
-rw-r--r--   1 user-name  staff   400  1  3 07:20 id_rsa_sakura_vps.pub

以上でMAC側での作業は終了です。

次に、MACで作成した鍵の公開鍵をVPSに登録します。
管理者ユーザではなく、先程作成した一般ユーザでログインしてください。
.sshディレクトリを作成します。

[sakura@aa1-234-56789 ~]$ mkdir .ssh

作成した.sshディレクトリの権限設定を変更します。

[sakura@aa1-234-56789 ~]$ chmod 700 .ssh

.sshディレクトリ内にauthorized_keysというファイルを作成します。

[sakura@aa1-234-56789 ~]$ vi .ssh/authorized_keys

authorized_keysの編集画面が表示されますので、先程MACで作成した公開鍵(id_rsa_sakura_vps.pub)の内容を貼り付けて保存します。
保存後、authorized_keysの権限設定を変更します。

[sakura@aa1-234-56789 ~]$ chmod 600 .ssh/authorized_keys

sshdの設定を変更する

sudoコマンドを使用してsshd_configの設定を変更します。

[sakura@aa1-234-56789 ~]$ sudo vi /etc/ssh/sshd_config

sshでアクセスする際のポート番号を変更します。
今回は、55522というポート番号を設定してみます。

#Port 22

↓

Port 55522

管理者権限(root)でsshから直接接続できないようにします。

#PermitRootLogin yes

↓

PermitRootLogin no

鍵交換方式でログインする設定を行ったので、パスワード認証によるログインを禁止

PasswordAuthentication yes

↓

PasswordAuthentication no

変更した設定を適用するため、sshdを再起動します。

[sakura@aa1-234-56789 ~]$ sudo service sshd restart

以上でsshdの設定変更は完了です。

MACのターミナルからssh接続する

MACのターミナルから先程設定したポート番号を指定してVPSに接続をしてみます。

$ ssh sakura@VPSのIPアドレス -p 55522

接続しようとして、下記のようなエラーが発生しました。
このエラーは、先程設定したsshのポート番号を開放していないため発生します。

ssh: connect to host VPSのIPアドレス port 55522: Connection refused

先程設定したsshのポート番号を開放するため、VPSのコンソールに戻り、下記の通りiptablesの設定を変更していきます。

[sakura@aa1-234-56789 ~]$ sudo vi /etc/sysconfig/iptables

先程設定したsshのポート番号に変更。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

↓

-A INPUT -m state --state NEW -m tcp -p tcp --dport 55522 -j ACCEPT

変更した設定を適用するため、iptablesを再起動します。

[sakura@aa1-234-56789 ~]$ sudo /etc/rc.d/init.d/iptables restart

もう一度、MACのターミナルから先程設定したポート番号を指定してVPSに接続をしてみます。

$ ssh sakura@VPSのIPアドレス -p 55522

MACのターミナルで次の通り表示されればVPSへの接続成功です。

SAKURA Internet [Virtual Private Server SERVICE]

[sakura@aa1-234-56789 ~]#

以上でMACのターミナルから、さくらのVPSに接続して作業することができます。