2011年12月10日土曜日

opensshの秘密鍵と公開鍵

サーバに対してSSHでログインする時、鍵を使います。
この鍵の関係があやふやだったので簡単にまとめてみました。


【秘密鍵】
ログインする時に使う、開けるための鍵。
イメージは鍵(そのまま)。

【公開鍵】
ログインしたいサーバに置く鍵。
イメージは錠前。

この2つはペアじゃないとだめ。
それは、家の鍵でも金庫の鍵でも一緒ですね。



以下は鍵の作成と設置方法です。
sshのログインや、rsyncをcronで自動実行する際にご活用ください。
かなり簡略化されていますので、やる前にちゃんと各人調べましょう。



◆鍵ペアの作成◆
linuxのコマンドで簡単に鍵ペアが作れます。

1. ログインを実行するユーザになります。(ex:local)
[root]# su - local
[local]$


2. .sshディレクトリを作成して移動します。
[local]$ mkdir .ssh
[local]$ chmod 700 .ssh
[local]$ cd .ssh


3. コマンドを実行します。
[local]$ ssh-keygen -t rsa
※パスワードを入力します(省略可)
※※ここでパスワードを省略すると、ログイン時にパス無しでいけます。


4. 確認します。
[local]$ ls -l
※以下のファイルが作成されています。
id_rsa = 秘密鍵
id_rsa.pub = 公開鍵





◆公開鍵の設置◆
作成された公開鍵を設置します。

1. 取り扱いに注意して公開鍵を移動します。


2. ログインしたいユーザになります。(ex:remote)
[root]# su - remote
[remote]$


3. .sshを作成し、移動します。
[remote]$ mkdir .ssh
[remote]$ chmod 700
[remote]$ cd .ssh


4. authorized_keysを作成します
[remote]$ touch authorized_keys
[remote]$ chmod 600 authorized_keys


5. 移動した公開鍵をauthorized_keysに追記します。
[remote]$ cat id_rsa.pub >> authorized_keys
※viで開いて、直接公開鍵の中身を書き込むでもOK。


2011年12月2日金曜日

ThinkPad x40 でcheck date and time settings が出て立ち上がらない

緊急のサーバ対応で、社外作業しようとした時に発生しました。



普段は使わず、スタンバイ状態で閉まってあるノートPC。
以前使ったのは7月でした。

それから4ヶ月後・・・
エラーが出てwindows起動しない・・・・・・
やべーーーー((((;゚Д゚))))



こんなエラーが出てました。

check date and time settings


その時は焦っていたので、ちゃんと対応せず故障したと思い込んでましたが、
BIOSの設定を見ると、1998年1月1日になっているではありませんか!
電池切れで初期化されてしまったようです。


ACアダプタを装着し、しばらく放置した後にBIOSの設定画面で正しい日時を入力することで、無事windowsが再開されました(^_^;)

ちゃんちゃん。



【教訓】
1.しばらく使っていなかったPCは事前に充電しておきましょう。
2.どんな時でも冷静にエラーを確認しましょう。

2011年10月17日月曜日

symfonyでDATE_FORMATを使う

symfonyでDATE_FORMATを使うと1行しか取れない。
大ハマリしたのでブログに残しておく。


例)やりたかった事
Doctrine_Query::create()
->select(DATE_FORMAT(...)) ......


◆解決方法◆
selectの前に以下をつけると正しく結果が取得出来る。
->setHydrationMode(Doctrine::HYDRATE_SCALAR)

例)
Doctrine_Query::create()
->setHydrationMode(Doctrine::HYDRATE_SCALAR)
->select(DATE_FORMAT(...)) ......


execute()した結果をforeachで回して中身を取り出す。
接続詞が付いている可能性があるので注意。

例)
as date => e_date

2011年8月11日木曜日

Nagiosでこんなエラーが出た時の対処法

Nagiosの連絡先を変更した時の事でした。
設定ファイルを修正し、設定のチェックもOKだったので反映しました。
すると、すぐにNagiosからアラートが飛んできたのです。

Info: (No output!)


今まで見たこと無いエラーでした。
慌てて設定を元に戻し、Nagiosを再起動。
無事エラーは解除されました。


エラーと一緒にweb画面に出ていたのはこんなエラーです。

Return code of 127 is out of bounds - plugin may be missing
(プラグインが無いよ)




元に戻ったので、もう一度修正→チェック→反映。
また同じエラー…



これ、反映じゃなくて再起動すると解決します。

service nagios reload
service nagios restart


変なエラーが出たら、まず再起動してみましょう。

2011年8月9日火曜日

[解決]muninでmysqlが描画されない

muninでmysqlを監視すると、初期状態では描画されないのが普通です。
そこで/etc/munin/plugin-conf.d/munin-node にmysqlの設定を記述する訳ですが、今回はそれでもうまくいかず…


そんな時はログを見ましょ。
# less /var/log/munin/munin-node.log

Error output from mysql_queries:
/usr/local/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'


PWが間違っている時に出るエラーです。
設定したのにおかしいな。。。restartもしたのに。。。



色々見て回っていた所、そんな時はこんなコマンドで確認すると良いという情報を見つけて早速try。


# munin-run mysql_queries
/usr/local/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

ログと同じエラーが出てきました。
エラー内容しか書いていないので、--debugオプションで詳細を見てみます。



# munin-run --debug mysql_queries

# Processing plugin configuration from /etc/munin/plugin-conf.d/hddtemp_smartctl
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node.bak.110809
# Processing plugin configuration from /etc/munin/plugin-conf.d/postfix
# Processing plugin configuration from /etc/munin/plugin-conf.d/sendmail
# Set /rgid/ruid/egid/euid/ to /103/102/103 103 /102/
# Setting up environment
# Environment mysqlopts = -u root -p<古いPW>
# Environment mysqladmin = /usr/local/bin/mysqladmin
# About to run '/etc/munin/plugins/mysql_queries'
/usr/local/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'



読み込んだ内容は古いPWのものでした。
これは3番目に読み込んでいる設定ファイル「munin-node.bak.110809」のものです。
バックアップとして保存していたのが仇になりました…

このファイルを別の場所へ移動し、もう一度実行。



# munin-run --debug mysql_queries

# Processing plugin configuration from /etc/munin/plugin-conf.d/hddtemp_smartctl
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Processing plugin configuration from /etc/munin/plugin-conf.d/postfix
# Processing plugin configuration from /etc/munin/plugin-conf.d/sendmail
# Set /rgid/ruid/egid/euid/ to /103/102/103 103 /102/
# Setting up environment
# Environment mysqlopts = -u root -p<正しいPW>
# Environment mysqladmin = /usr/local/bin/mysqladmin
# About to run '/etc/munin/plugins/mysql_queries'
delete.value 5
insert.value 2824
replace.value 0
select.value 19336
update.value 3775
cache_hits.value 0



やっとエラー無く値を取得できました。



【教訓】
バックアップファイルを作る時は、別のディレクトリに作りましょう。
あと、debugオプションをもっと活用しましょう。

2011年8月8日月曜日

gzで圧縮したログを見る時に便利なコマンド

gzip圧縮していたapacheのログを直接lessしたら
「バイナリデータでっせ?」
と聞かれてしまいました…

以前はlessで見れたんですけどね…



そのままでは何が書いてあるか全く分からないので、ちょっとコマンドを使ってみます。


# less access_log



# zcat access_log | less



これで、文字化けも暗号も無くなり、普通のテキストで見ることが出来ます。




参考にしたサイト
Tomorrow is always fresh with no mistake in it.@備忘録

2011年8月2日火曜日

qpstudy#7に参加してきました

2011年7月30日(土)に行われたqpstudy#7に参加してきました。

内容をお伝えしたい所ですが、禁則事項で禁則事項のためお伝えできませんが、雰囲気だけでも。



恐怖の連続で、それはもう盛り上がっていました。
キユーピー3分インフラクッキング 第7回「ITインフラ 本当にあった怖い話 ~絶対に笑えないサーバ24時~」 #qpstudy


皆さんお疲れ様でした~