2012-01-07
2011-12-20
OpenSSHでアクセスする際にホスト毎に鍵認証とパスワード認証を分ける
関係のない別のSSHサーバにアクセスする際にも、鍵のパスフレーズを要求されるようになってしまいました。
さらに鍵のパスフレーズを打った上で、改めてそのサーバのパスワードを打つ必要があるので面倒だったので、それを止める方法を…
OpenSSHの個人設定に追記する
"~/.ssh/config"に個人のOpenSSH設定が記述できるので、
そこにVPSドメインへは鍵認証、それ以外では鍵認証を使わない設定を追記しました。
ちなみにOpenSSHでは、コマンドラインオプション→個人設定→全体設定の順で読まれるので、
"/etc/ssh/ssh_config"の全体設定をコピーした上で、設定を変更しました。
追加したのは以下の通り
PubkeyAuthentication yes
IdentityFile ~/.ssh/[鍵ファイル名]
Port [SSHのポート番号]
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
Host *
PubkeyAuthentication no
[以下デフォルトの設定記述]
下4行はデフォルト値のコピーとポート番号指定なので、ここでは省略します。
PubkeyAuthentication で鍵認証を使うかどうかの指定
VPSのドメインのみ yesで使用する設定にして、それ以外はNo
さらに IdentityFileで使用する鍵ファイルも指定
これで、指定したドメインにアクセスする際のみ鍵を利用するので、
関係ないサーバにアクセスする際に、鍵のパスフレーズを入力せず、利用できるようになりました。
参考URL
2011-12-08
.htaccessでリダイレクション&.htaccessの設定覚え書き
先日の記事で書いたVPSのリダイレクション設定が時間がなくて気持ち悪い書き方
(index.htmlのMETAタグにリダイレクション設定)だったので、修正しようとしましたが、思ったより苦戦したので、メモがわりに覚え書き
.htaccessでのリダイレクション設定
設定前のリダイレクション設定はindex.htmlのMETAタグにリダイレクション設定を記載という適当すぎる方法でした。
ドメインへのすべてのリクエストに対して、このブログへのリダイレクションをする方法がないかと調べたら、HTTPレスポンスに転送に関するものがあり、
今回は一時的な転送である302で返すように.htaccessに設定を記述
RedirectMatch 302 .* http://d.hatena.ne.jp/ik11235/
.htaccessの有効化
.htaccessを読み込むためには、/etc/httpd/conf/httpd.confの設定の変更が必要
初期では利用するためのモジュールも読み込まれていなかったので、以下の1文を追加
LoadModule rewrite_module modules/mod_rewrite.so
さらに、.htaccessの設定反映の有効化のために
htmlファイルのディレクトリ設定部分(デフォルトでは<Directory "/var/www/html">)の下の
AllowOverride None
↓
AllowOverride All
に変更
httpd.confを変更した場合、Apacheの再起動が必要なので、
以下のコマンドで再起動
sudo /etc/rc.d/init.d/httpd restart
しかし、最初にこの設定を行った際にはserverが500を返すようになってしまい、うまく動いてくれませんでした。
".htaccess: Regular expression could not be compiled."
というエラーが…
調べてみると、Apache上での正規表現の書式に関するもので、
全てに一致は、"*"だけではなく,".*"という書き方をしなければいけなかったらしく、最初に設定していたものを以下の修正したら動きました
RedirectMatch 302 * http://d.hatena.ne.jp/ik11235/
↓
RedirectMatch 302 ,* http://d.hatena.ne.jp/ik11235/
参考にさせてもらったサイトさん
serverman@VPSを借りてみたので、やった初期設定等の覚え書き
なぜか、個人ドメインだけ取ってそのまま放置だったので、serverman@VPSのentryプランを借りてみました
とりあえず、とってからやったことを覚え書きの意味でつらつらと並べておきます
ssh関係の初期設定
まず、何はともあれrootも使えて、外からも見れるサーバ1台が無造作な状態で放置されている状態なので、
ssh周りの設定は最優先で行いました
rootでのsshログイン禁止
rootでssh経由でログイン出来ない様に以下のファイルの設定を書き換えました
- /etc/ssh/sshd_config
このファイルの以下の部分を
PermitRootLogin yes
以下のように書き換え
PermitRootLogin no
管理用のroot以外のユーザ・グループ作成+設定
rootでログインを禁止した場合、それ以外のアカウントがないと永久にログインできなくなるので、
管理用のグループとユーザを追加で作成します
管理用グループを"wheel"、管理ユーザ名を"username"とすると
シェルにて以下のようにして、設定
# useradd username (ユーザ追加)
# passwd username (追加ユーザのパスワード設定)
# usermod -G wheel username (管理者グループに新規ユーザを追加)
さらにこれだけだと、root権限を使えないので、wheelグループはsu、およびsudoを使えるように設定
- su設定
- /etc/pam.d/su
以下の一文を追加(もしくはコメントアウト(#)を消す)
auth required pam_wheel.so use_uid
- sudo設定
- /etc/sudoers
wheelグループのsudo許可とsudoログ作成の設定文を追加
%wheel ALL=(ALL) ALL
Defaults logfile=/var/log/sudolog
鍵認証方式利用の設定
WindowsからのSSHクライアントはputtyを使うことが多いので、ひとまず
puttyを使った鍵作成と設定の仕方
- puttyでの鍵の作成用の鍵作成
[作成]を選択して作成後、テキスト部分をコピーして
"ログインするユーザのホームディレクトリ/.ssh/authorized_keys"にコピー
なお、authorized_keysの所有者はログインするユーザ、パーミッションは600に設定
鍵認証以外でのログインの禁止
- /etc/ssh/sshd_config
このファイルの以下の部分を
#PasswordAuthentication yes
以下のように書き換え
PasswordAuthentication no
すべての設定が終われば、シェルに以下のコマンドを打って、sshdを再起動
# /etc/rc.d/init.d/sshd restart
このあたりの設定は失敗すると、ログインができなくなるのでつながっているセッションを1つ残したままで、別端末から設定が適応されているかを確認するようにした方が良いと思います。
(私自身、このあたりを失敗して、借りてから数十分足らずで1回初期化してます)
iptablesの設定
iptablesを設定して不必要なポートを塞ぐ設定
…ですが、最初に現在の設定を確認しようとすると…
iptablesがない?
調べたところ、なぜかインストールされているにもかかわらず、
パスが通ってなかったので、PATHに"/sbin/;/usr/sbin/"を追加
その後、/etc/sysconfig/iptablesに以下の記述を追加して、
(sshのポートの9999は変更したポートに合わせて変更)
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -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 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
yumでのアップデート
そこまで設定できたら一応は最低限の設定はできたと思うので、
サービスのアップデートを以下のコマンドで実行
# yum update
emacsのインストール
vi,vimは個人的にあまり使えないのでemacsのインストール
ただ、CentOSのyumのリポジトリだとemacs21とかなり古いので、
手動でインストールしました。
# wget http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3b.tar.gz
# cd ./emacs-23.3
# ./configure --without-x
# make
# make install
文字コード変更
- /etc/sysconfig/i18n
このファイルのLANG部分を以下に変更
LANG="jp_JP.UTF-8"
不要サービス停止
VPSは資源があまり多くないことも多いので使わない不要サービスは停止させます。
CentOSをサーバーとして活用するための基本的な設定 - さくらインターネット創業日記
↑のさくらインターネット社長プログで書かれている設定+個人的にftp等は使うつもりがなかった(ssh or sftp)ので、
そのあたりを考えて以下のサービスを以下のコマンドで停止
chkconfig [サービス名] off
acpid
auditd
autofs
avahi-daemon
firstboot
haldaemon
hidd
kudzu
lvm2-monitor
mcstrans
mdmonitor
messagebus
netfs
pcscd
portmap
rawdevices
restorecond
rpcgssd
rpcidmapd
smartd
xfs
ypbind
ただし、設定が微妙に違うので、ないものがあったり…
Apacheの設定
最低限、必要そうな設定のみ変更
- /etc/httpd/conf/httpd.conf
#HTTPレスポンスの返却値の情報を最低限に
ServerTokens OS
↓
ServerTokens ProductOnly
#index.html等がないときに、ディレクトリ内一覧を表示させない
Options Indexes FollowSymLinks
↓
Options -Indexes FollowSymLinks
ServerSignature On
↓ ↓ ↓
ServerSignature Off
ここまで設定して燃え尽きたので、
ブログにリダイレクションする設定だけして以下のアドレスでwebのみ公開
しかし、夜に設定してその後の設定を行う気力がなかったため、リダイレクションの方法がひどい事になってます。
近いうちに少なくともそれは直したい…
参考にさせてもらったサイトさん
さくらのVPS(CentOS)で文字コードを日本語にする方法(もしくはlessで文字化けさせない方法) | IDEA*IDEA
Webサービス用にさくらのVPSサーバーを借りた後で役に立つ記事色々:phpspot開発日誌
GM's Log. » Blog Archive » 【さくらのVPS】初期設定をしてみた
2011-11-23
オンラインストレージ「Box.net」がiOS利用で50GB無料だったので、登録&利用してみた
オンラインストレージの「Box.net」というサービスが
iOSアプリからの登録orログインで2011/12/2まで無料でストレージ容量50GBに増量ということだったので、登録してみました。
私はiPod touchで行いましたが、普通に特典適用されました)
特典で変更される点
- 容量:5GB→50GB
- 1ファイルの最大サイズ:25MB→100MB
レビュー
- 「Box.net」の特徴
基本的には、概ね普通のオンラインストレージサービスですが、
一部他と違っていると思う点などについてを少しピックアップして紹介します
WebDAV対応
これが一番他のオンラインストレージサービスと差がある部分だと思います。
WebDAVに対応、すなわち多くのOS内の機能でネットワークストレージ(ネットワークドライブ)として、マウントが可能です。
Windows7でのマウントは、[コンピューター]を右クリックして、[ネットワークドライブの割り当て]より
[フォルダー]の入力部分に"https://www.box.net/dav"を設定、
その後のID入力画面で登録したメールアドレスとパスワードを入力すれば、
Windows上のネットワークドライブとしてマウントできます。
Linuxではmountコマンドでマウント可能
ただしubuntuにはデフォではWebDAVクライアントが無いので、以下のコマンドでインストール
マウントする際には以下のコマンドを実行します。(マウント先のディレクトリを予め作成しておく)
$ sudo mount -t davfs http://www.box.net/dav /mnt/dav
アンマウントする際には以下のコマンド
$ sudo umount /mnt/dav
連携対象が多い
最近のオンラインストレージでは、iOSとAndroidに対応しているものが殆どですが、
「Box.net」はその2つ以外にも、”Microsoft Officeプラグインからの直接保存”や、Google Docsとの連携(両方から参照可能)などスマートフォン以外の他サービスとの連携があります
(BlackBerryやWindows Phoneにも非公式アプリはあるようです)
ファイルにコメントandタグが付けられる
Webよりファイル単位でコメントやタグ付ができるので、
ファイル内やファイル名に概要等を書く必要がなく、共有時も可能なようなので、
簡易なchange log変わりにも使えそうです
日本語表示に変更
てっきり日本語表示はないと思っていたのですが、
Webを見てるとどうやら日本語設定自体はあったようで…
ログイン後画面の[My Account]より「Account Settings」を選択後、
「General」タブより言語選択画面があり、そこに日本語も選択肢にあります。
ただし、翻訳はそれほどされていないようで、日本語設定にしても英語のままの部分もあったりします
ひとまず、Dropboxと違い、母艦機のデータ領域を圧迫せずにローカルとほぼ同等の操作ができるという点がなかなか良さそうです。
ただ、ネット環境は必須なので、ネット有り環境での利用前提のファイルは「Box.net」、常に編集、閲覧可能状態でないと困るものは「Dropbox」等使い分けるのがベターかと…
しかも今ならば50GB利用できるので、ひとまずしばらく試用してみようと思います。
2011-07-01
Android端末のダウンローダがバグッたときの対処法?
先日、ISW11ht上の公式マーケットにて、アプリのアップデートを行っていたのですが、移動中にアップデートを使用としたのが、災いしたのか、アップデートが途中で止まって、再起動等しても、全くダウンロードが進まなくなって、キャンセルしても、通知上に残り続けて、DLも進まない、DLを強制終了することもできなくなってしまったので、その解決法を自分が覚えておくためにもメモ書きしておきます。
"設定"→"アプリケーション"→"アプリケーションの管理"→"実行中"から
ダウンロードマネージャーを選択して、"データを消去"を選択で、DLを初期化して、通常利用出来るように戻すことが出来ました。
"データを消去"だと、アンインストールするみたいにも一瞬思いましたが、少なくとも私の環境では、特に動作に問題は起こりませんでした。
(そりゃあ、標準のダウンローダがroot化も無しで消せたら問題でしょうから、それはないとは思いましたが…)
(もちろん、DL中データは削除されるため、DLは最初からやり直しですが…)








