カテゴリー ‘ さくらのVPS ’
SSHでのログインのセキュリティエラー(homeディレクトリのパーミッション)
さくらのVPSのテスト用サーバを再インストールしていたらSSHでログインエラーが出たので
「/var/log/secure」を見てみたら
「Authentication refused: bad ownership or modes for directory /home/hogehoge」
というエラーが表示されていました。
なんだろう?と調べてみたら、
ホームディレクトリに自分以外のユーザーの書込み権限があるとNGみたいです。
なのでhomeディレクトリを
「chmod 700 /home/hogehoge」として修正したらログイン出来るようになりました。
SSHのProxyCommandを使用すると踏み台サーバ経由のSSHが楽になる
仕事でよく、特定のIPアドレスからしかSSH接続を許可していないサーバがあると思います。
(俺的には、鍵認証のみでIP制限はずしてと思うのですがw)
この場合
「クライアントPC」→「踏み台SSHサーバ(許可されているIPアドレスのサーバ)」→「目的のサーバ」
という感じで1度無駄なsshコマンドが必要になるのでうざい、直接接続できたらどれだけハッピーか
とういことで「踏み台サーバがSSHのプロキシの役割すればいいのでは」ということで検索したら
「ProxyCommand」というものを発見!!
で、設定方法
vim ~/.ssh/config Host mokutekiserver.com ProxyCommand ssh proxyserver.com nc %h %p
このような感じで、記述すると
クライアントから直接 「ssh test@mokutekiserver.com」で接続できるようになります。
今まで:ssh proxy_user@proxyserver.com → ssh test@mokutekiserver.com
今回:ssh test@mokutekiserver.com
見事に、直接クライアントから目的のサーバへ直接つなげています。
間にはいる踏み台サーバには「nc」のインストールが必要ですが
「yum install nc」で簡単にインストールできます。
これで、煩わしい多段SSHが、退治できますので試してみて下さい。
参考にしたURL
PHPのdate_default_timezone_set()のエラー対策
最近のPHPでdate関連の関数を実行すると、
Strict Standards: date() [function.date]: It is not safe to rely on the systems timezone settings, please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. We now use ‘Asia/Tokyo’ for ‘JST’ in
こんな感じのエラーが表示されると思います。
これは、タイムゾーンを設定していないからです。
その対応の為のphp.iniの設定方法は、
sudo /etc/php.ini date.timezone = Asia/Tokyo
これで、httpd or nginx or php-fpmを再起動してphp.iniの設定を読み込みます。
PHPでのmbstringの設定
PHPをUTF-8で使用する場合に、いつもmbstringの設定をするのでその備忘録
phpの[mbstring]の設定
mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,SJIS-win,auto mbstring.substitute_character = ?;
これが一番、POSTなどでデータを渡しても文字化けが少ないと思われる設定方法
もっと良い設定があるかもしれませんが、いつもこの設定でやっていて特に問題ないです。