カテゴリー ‘ サーバー

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などでデータを渡しても文字化けが少ないと思われる設定方法

もっと良い設定があるかもしれませんが、いつもこの設定でやっていて特に問題ないです。

nginxで413 Request Entity Too Large


 

nginxでファイルアップロード時に、「413 Request Entity Too Large」が表示された場合の備忘録

nginxはデフォルトでは、2Mまでしかファイルを受け付けないのでそれを拡張するには

sudo vim /etc/nginx/nginx.conf
client_max_body_size 10M

このように記述します。

これで最大10Mまで受け付けるように変更になります。

これは

「http」「server」「location」どこにでも記述できます。

return top