スマートフォン・タブレットからインターネットサーバーオペレーション 2012

APPW.jp 2012

お名前.com VPS (KVM) にて WordPress をはじめるまで(1)

第1回は、ログインユーザーの追加と SSH の設定についてです。

2012年5月から お名前.com VPS(KVM) の利用を始めています。

標準 OS にて、設定などを備忘録として残しておきたいと思います。

ユーザーの追加

まず、例として hoge ユーザーを追加し、パスワードを設定します。コンソールを利用します。

$ useradd hoge
$ passwd hoge
$ usermod -G wheel hoge

wheel は、管理者グループとなります。

sudo コマンド

インストール作業のほとんどは、root で行います。

一般ユーザーは su コマンドでスーパーユーザーとなり、作業を進めることもできますが、sudo コマンドでは、特定ユーザーが root 権限でコマンドを実行することができます。

設定は visudo で行います。

$ visudo

ログインユーザーに設定すると、以降は sudo コマンドで作業が進められます。

$ sudo yum upgrade

SSH の設定

つぎに、SSH を設定します。

/etc/ssh/sshd_config を編集し、service sshd restart で sshd を再起動します。

$ sudo vi /etc/ssh/sshd_config
$ sudo service sshd restart

主に編集するパラメータは、セキュリティ対策です。以下はその例です。

# port 22
port 10022

#PasswordAuthentication yes
PasswordAuthentication yes

#PermitEmptyPasswords no
PermitEmptyPasswords no

#PermitRootLogin yes
PermitRootLogin no

ファイアウォールの設定

さらにセキュリティに関する設定を続けます。ファイアウォールです。

$ sudo vi /etc/sysconfig/iptables
$ sudo service iptables restart

/etc/sysconfig/iptables の例です。なお、このファイルを直接編集することはお勧めされていません。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 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -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 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

お名前.com VPS(KVM) で標準 OS を選択した場合、SSH (22 番ポート)が利用できるように設定されています。

以降、追加するサービスに応じて、ポートを追加していきます。

なお、ファイアウォールの設定は重要です。上記の例は、参考としてあげたもので、わたし自身、このままの設定では行っておりません。自己責任となりますので、それぞれ納得のできるところまで調べる必要があると思います。

Mac(Mac OS X)から公開鍵認証による SSH 接続

ここで、Mac(Mac OS X)のターミナルから SSH 接続を試みます。

$ ssh hoge@xxx.xxx.xxx.xxx(IP アドレス)

すでにネームサーバーの設定が済んでいれば、IP アドレスでなくドメイン名でも OK です。

また、ポートが例えば 10022 であれば、-p 10022 を付け加えます。

$ ssh hoge@xxx.xxx.xxx.xxx(IP アドレス) -p 10022

なお、SSH 接続には、公開鍵認証という方法があります。こちらを利用できるようにします。

ターミナルから Mac 上で ssh-keygen を実行してキーペアを作成します。

$ ssh-keygen

コマンドの指示に従って進めると、Mac 上の /Users/ユーザ名/.ssh/id_rsa.pub が作成されます。id_rsa.pub が公開鍵で id_rsa が秘密鍵です。勘違いしやすいので十分注意が必要です。

この id_rsa.pub の内容をそのままサーバーの /home/hoge/.ssh/authorized_keys にコピーします。

$ cd /home/hoge
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vi authorized_keys
$ chmod 600 authorized_keys

一文字ずつ間違いなく入力していくことはかなり難しいので、コピペできる環境が必要です。ターミナルからログインパスワードで SSH 接続するなどします。

次回にターミナルから SSH 接続する際から公開鍵認証が行われます。

Android アプリ ConnectBot から公開鍵認証による SSH 接続

無料の Android アプリ ConnectBot からも 公開鍵認証による SSH 接続を試してみます。

ConnectBot アプリのメニューボタンから「公開鍵管理」に入り、さらにメニューボタンから「生成」を行います。アプリの指示に従って進めると、公開鍵の一覧に、生成した鍵の名前が表示されます。それをロングタップすると「公開鍵をコピー」というコマンドが現れますので、それをタップします。

テキストエディタで、クリップボードからペーストするとファイルに保存できます。わたしは Jota Text Editor アプリをよく利用しています。このファイルを Mac などに移して、/home/hoge/.ssh/authorized_keys に内容を追加コピーするなどの方法が考えられます。

わたしの場合は AndFTP アプリも利用していまして、あらかじめ SFTP で接続できるようにして、/home/hoge/.ssh/authorized_keys をダウンロードして、Jota Text Editor アプリで追加コピーし、アップロードしました。

そのほか、後から気がついたのですが、ConnectBot アプリでクリップボードから貼り付けもできますので、ログインパスワードで SSH 接続してから直接 /home/hoge/.ssh/authorized_keys に貼り付けるのがいちばん間違いがなさそうです。

 

補足

以上、かなり駆け足の記録となってしまいました。ポイントとなる部分は残せたと思います。

追記。2012年9月6日に iptables の例について見直しました。

 

日本語の対応

日本語の対応についてです。/etc/sysconfig/i18n を書き換えます。

LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

via IPv4

アーカイブ

カテゴリー