「さくらのクラウド」でサーバ作成してSSHなどを設定した
会社でお付き合いのあるSAKURA Internetさんから『「さくらのクラウド」無料券』なる物を頂ました.さくらのクラウドを2万円分使用できるクーポン券です(使用開始から一年間の期限付き).
さくらのクラウドは最小構成でCPU1コア/メモリ1GB/ディスク20GB(SSD)が月額1,900円です.
個人(自分)が使うとすればお試し環境構築といった用途になるかなぁ.上記最小構成なら1時間9円,1日95円です.個人使用で常時運用するなら同じSAKURA InternetでもVPSの方が使いやすいかな.
使い勝手は・・・
他のクラウドサービスを使ったことがないので何とも言えません.
一番安いプランでCentOS 6.4 64bitでサーバ作成してみましたが3分もかからずサーバ作成完了.グローバルIPが割り当てられておりrootでsshでログイン可能な状態で起動します.
サーバ削除も試してみましが,こちらはすぐに完了します.
初期状態
サーバ作成直後はディスクとメモリはこんな感じ.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda3 18G 1.4G 16G 9% / tmpfs 499M 0 499M 0% /dev/shm /dev/vda1 98M 28M 65M 31% /boot
# free -m total used free shared buffers cached Mem: 996 99 896 0 7 34 -/+ buffers/cache: 57 938 Swap: 2048 0 2048
SSH関連の設定を行なう
具体的な用途は無いですが,とりあえずssh関連の設定を行なっておきます.
設定する項目は以下です.
ユーザ追加してsudo設定
まずはユーザ追加,パスワード設定,sudo設定.
# useradd ukasiad # passwd ukasiad # visudo ...省略... ukasiad ALL=(ALL) ALL # 追加 ...省略...
鍵ペアを用意(クライアント側作業)
自分はクライアントとしてWindows7でcygwinを使用しました.すでに鍵がある場合は飛ばしてOK.
ホームディレクトリに移動,~/.sshフォルダが無ければ作成。
cygwin$ cd ~ cygwin$ mkdir .ssh cygwin$ chmod 700 .ssh
ssh-keygenでsakura1_id_rsaという名前で鍵ペアを作成します.途中の "Enter passphrase" で何も入力しません.
cygwin$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/username/.ssh/id_rsa): sakura1_id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in sakura1_id_rsa. Your public key has been saved in sakura1_id_rsa.pub. The key fingerprint is: ... 省略 ...
鍵ペア生成確認,秘密鍵の権限を変更,秘密鍵を.sshへ移動.
cygwin$ ls sakura1_id_rsa sakura1_id_rsa.pub cygwin$ chmod 600 sakura1_id_rsa cygwin$ mv sakura1_id_rsa .ssh/
.ssh/config
に以下を追記.
host sakura1 user ukasiad hostname ***.***.***.*** port 22 identityfile ~/.ssh/sakura_id_rsa
公開鍵(sakura1_id_rsa.pub)をサーバへコピー.
cygwin$ scp sakura1_id_rsa.pub ukasiad@***.***.***.***:~/
メモ
秘密鍵から公開鍵を作るコマンド
ssh-keygen -y -f 秘密鍵ファイル
サーバ側作業
ホームディレクトリ権限変更(忘れがち),~/.ssh フォルダが無ければ作成.
$ chmod 755 /home/ukasiad $ mkdir .ssh $ chmod 700 .ssh
公開鍵を鍵ファイルに追加.
$ cat sakura1_id_rsa.pub >> .ssh/authorized_keys $ chmod 600 .ssh/authorized_keys
メモ
公開鍵(sakura1_id_rsa.pub)は削除してもかまわない。秘密鍵から再作成可能。
sshd設定
sshdで公開鍵認証を有効にして再起動.
$ sudo vi /etc/ssh/sshd_config ...省略... PubkeyAuthentication yes ...省略... $ sudo service sshd restart
クライアントからssh sakura1
でパスワードなしでログイン出来れば成功.
sshdポート変更など
sshdのポートを*****に変更(クライアント側~/.ssh/configのポート番号変更も必要),rootログイン禁止,パスワードログイン禁止,チャレンジレスポンス認証禁止.fail2banのsshdポートの変更.
$ sudo vi /etc/ssh/sshd_config ...省略... Port ***** ... PermitRootLogin no ... PasswordAuthentication no ... ChallengeResponseAuthentication no ...省略... $ sudo vi /etc/fail2ban/jail.conf ...省略... [ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=*****, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com] logpath = /var/log/secure maxretry = 5 ...省略... $ sudo service sshd restart $ sudo service fail2ban restart $ sudo service iptables restart
メモ
fail2banはデフォルトでパスワード認証失敗しか対応していない?
iptables設定
外からはssh接続しか許可しない.
$ sudo vi /etc/sysconfig/iptables *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport ***** -j ACCEPT COMMIT $ sudo iptables -L
メモ
設定を間違ってssh接続が出来なくなった場合,さくらクラウドコントロールパネルのコンソールで接続して修正.メモ
パケットフィルタなる物がコントロールパネルで用意されているが使い勝手はどうなんだろう.
その他
yumパッケージを更新.200個ほどの更新あり.
$ sudo yum -y update
とりあえずサーバ再起動.
$ sudo shutdown -r now