2012年5月20日日曜日

qpstudy 2012.05 エンジニアのためのハードウェア徹底入門 に参加してきました(途中まで)

約1年前、初めて勉強会に参加するきっかけとなった、とっても思い入れのあるqpstudy。

今回は本当に初めて初心者にやさしいインフラ勉強会でした。(訳:自分でも理解できた)
ひとえにスタッフの皆さんの努力によるものと思います。一参加者としてとても嬉しかったです。
おつかれさまでした!

qpstudy公式ツイッターアカウントによる事前の案内、qpstudyポータルサイトに掲載されているセミナールームへの行き方、入退館の諸注意の案内などなど、全て完璧だったと思います。(だって迷わなかったし!)


受付がバーコードリーダ方式を採用してスタッフ業務が楽になったり、色々新たな試みを工夫されてました。これからもどんどん成長していきそうですね、期待しています。

また、開始15分前に会場入りしたのに、すでに席の8割が埋まっていてビックリしました。いつもは直前まで結構空いているのに。ぬかったぜ・・・
そして顔見知りでない参加者が8割・・・いつもなら顔見知りの人8割なのに。
qpstudyも前回宣言した通り、新しいステージに来たのかなと実感した出来事でありました。

しかし本軸が全くブレないのがqpstudy、ネタは満載。
まずはセッションのネーミングがひどい素晴らしい。


・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
・卑しいしょっさんのCPU入門(仮)
・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)


・・・よくこのタイトルで新人さんが70人近くも集まったなあと思います。


セッションタイトルは、常連さんは「いつもどおり」のイメージで、新人さんは「怖くてツッコメない」状態だったのではないかと勝手に思っています。

また、「一緒に行こうよ!」って口コミで広まったケースがあったみたいです。

勉強会に行ってみたいけど、1人だと恐い・・・という方は、お友達を誘って一緒にくるのもいいですね。
ベテラン・新人問わず世代を超えた交流ができるのが、勉強会の一番いいところだと思っています。

前置きが長くなりました。
では、セッションの内容について。

・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
コンピュータの五大装置(制御、演算、記憶、入力、出力)についての小芝居がありました。
ダメなコンピュータを擬人化していましたが、面白かったです。
(主記憶の「揮発しちゃったー」はわかったのかな・・・)

このあたりの基本って、私が新人だった頃から全く変わってません。
基本は大事です。復習しなきゃ。(ちょっと忘れてた)

(感想)
新人教育として、今回の寸劇はなかなかいいですね。
というか、クオリティ上げてDVD出してほしい。(コミケで売れば・・・) →冗談です。
セッション内容とは関係ないのですが、新人さんにはちょっとお高いし内容は堅いけどITECの
以下の本をオススメします。
基本情報処理技術者試験の参考書としても使えます。

コンピュータシステムの基礎
http://www.amazon.co.jp/dp/4872687728


・卑しいしょっさんのCPU入門(仮)
CPUがどのように演算処理を行なっているかという真面目なセッションでした。
Fetch→Decode→Execute→Write Back というステージをCPUは順に繰り返しています。

CPUの高速化技法として
・パイプライン
・スーパースカラ
・アウトオブオーダー(Out-of-Order) →これ知らなかった
という方法があります。(詳しくはWikipediaを見てね!)

(省略)CISCとRISCの話 →今あまり気にする必要ないそうです。仕組みをおさえておけばOK。

CPUの動作を知るためには、マシン語を理解する必要があります・・・が、
それはさすがに大変なので今回解説で使用する言語はアセンブラでした。フー。

アセンブラはレジスタの種類と幾つかの命令を知っていればだいたいのことはできます。

まとめ:
アセンブラは重要です。そして命令数も少なくて覚えやすいので Let's try!
英語も重要です。


(感想)
昔、業務でアセンブラをやっていたので、低級言語をやると高級言語のありがたみがよくわかる、
というのはすごく気持ちがわかりました。
あと、プログラミングは 一つの言語を極めると他でも応用が利くので、最初はあれこれやらずに
一つの言語を徹底してやるというのを私はお勧めします。(特にアセンブラはいいね!)


・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)
→こちらのセッションは時間切れで聞けなかったので、別途Ust視聴後に感想を(書ければ)書きたいと思います・・・


◯togetter
http://togetter.com/li/306227

◯Zusaarはこちら
http://www.zusaar.com/event/272008?utm_campaign=qpstudy&utm_feed=twitter

2012年5月16日水曜日

【第3回】#SmartHacks - スマートフォンブラウザ技術勉強会 - ~ スマートフォン上で動くhtml5 + CSS3 + Javascriptについてhackathon形式で学びます ~ に参加してきました

スマホアプリ開発の仕事は予定にないのですが、今ホットなソーシャルゲームの実装に興味があったので参加してきました。

HTML+JavaScript+CSSで出来るっていうのがやっぱりすごい。
昔では考えられなかったから、はじめに思いついた人はすごいと思う。納豆みたいなもの?
私も昔はRIAといったらFlashでしょ、みたいな感覚でした。(恥)

◯ATNDはこちら
http://atnd.org/events/27983 

◯株式会社フォリフ 大橋氏 実践!HTML5で作るスマホブラウザゲーム 資料 

◯togetterまとめ
http://togetter.com/li/303969

 
1. 実践!HTML5で作るスマホブラウザゲーム
Corollin' PlanetというアプリをHTML5+JavaScript+CSSで実装したそうです。
セッションで使用されたCorollin' Planetのゲーム本体はこちら
http://apps.facebook.com/corollin/


Corollin' Planetにはfacebook 連携機能があります。
画面右上に他の人がクリアした結果を見ることができるボタンが配置してあり、
他人がどうやってクリアしたか、プレイ記録を見ることができます。
面白いですね。

ちなみに技術的な実装方法は・・・
slideshareを見たほうがよく理解できると思います。全部書いてあるし。
(さすがに手抜きなので、後で追記します・・・)

アニメーションは複雑な動きができるcanvasと実装が簡単なCSS3という2通りがあって、ゲームのメインはcanvas、メニューやストーリー部分はCSS3を組み合わせて使っているということです。

パフォーマンスについては登壇者の方がかなり気にされていて、

・Retinaディスプレイ対応(ただし、iOS4だと逆に遅いことがある)
・描画範囲を最小限にする
・GPUアクセラレーション(ただしiOS限定)

canvasのレイヤーを2枚(キャラクターと背景)にして、キャラクター部分のみ描画させることで描画範囲を最小限にしてパフォーマンスを改善するという工夫をしているそうです。


ちなみに、開発者として一番参考になったのが、最後のまとめでした。^^;

とにかく、Android端末のチェックを万全に。
端末、メーカー別の詳細チェック。特にAndroid2.1でのバグつぶしが大変だったようです。
当時で10端末ほどテストしたとのこと。
(特に苦労した端末はIS03と最初のXperiaだそう。昔あった、IEとそれ以外のブラウザで動作が違うというトラウマを思い出す・・・)

iOSで動いているものをAndroidで動かそうとすると大変だけど、
逆はそうでもないとのこと。Androidで開発してからiOSに移植するのをオススメしていました。


2.安定した機能を使う。
実際に他社で使用されているものなどを積極的に取り入れる。
俗に言う「枯れた技術を使う」なんていう感じでしょうか。


3.ライブラリを使用する。
ここ一年ほどでJavaScriptのライブラリはかなり充実してきていて、
enchant.js、arctic.js、easal.js などを使うと安定したものを提供できるそうです。

などなど、プラットフォームは変われど、開発の基本は変わらないという印象でした。

※ライブコーディングについてのセッションは、色々あったので割愛・・・




◯おまけの感想
・めったに行かないから怖かったよ、渋谷。
でも、ハチ公口じゃなくてよかった・・・


・女性が多めでしたよ!独身男性の皆さんチャンスです!


・飲み物が無料で、バリスタさんがカフェオレ入れてくれました。
上級者(?)の方はホイップクリームが乗るやつオーダーしてた。ムリムリ。
懇親会もビールや軽食が出て無料なんて初めてでした。参加できなかったけど。

2012年5月10日木曜日

さくらVPSにPlackをインストールして実行してみた(cpanmで再挑戦)

「Plackインストール時の警告について調べてみた」のエントリでアドバイスのあったcpanmのインストールとPlackの再インストールを実施してみました。

http://penguinjr1.blogspot.jp/2012/05/plack.html

手順はすごく簡単でした。

1.cpanmのインストール
     cpan App::cpanminus

2.Plackのインストール
     cpanm Task::Plack

root権限でこの2行を入力するだけ。
Plackのインストールも[yes]をいちいち聞かれないし、楽々でした。
これは非常にオススメです。

pluckupを実行するとサーバも動いて、ブラウザから問題なくアクセスできました。

2012年5月9日水曜日

Plackインストール時の警告について調べてみた

以前のエントリでPlackインストール時に警告メッセージが幾つか出ていましたが、それについて調べて(= ググって)みました。

make test had returned bad status, won't install without force

しかし、よくわからない・・・
他のモジュールでこのエラーが出るとモジュールの実行ができないみたいだけど、今回のPlackは普通に動いていたし。


そこで、これは専門家に聞いたほうが早いと思い、Perl Beginnersの公式サイトに質問してみました。
http://www.perl-beginners.org/

@ytnobodyさん、素早い回答ありがとうございます!


◯質問内容
さくらVPSにPlackをインストールして動作させてみました。
http://penguinjr1.blogspot.jp/2012/05/vpsplack.html

インストールの最後に「make test had returned bad status, won't install without force
」というエラー(?)が出たのですが、これは気にしなくてもいいのでしょうか?
また、but 3 dependencies missing という警告も将来的に何か悪さしたりするのでしょうか。

エラーメッセージでググってみましたが、ちょっとよくわからず・・・
もしご存知でしたら、教えてください。

◯回答
ブログ読みました!まずはPlackデビューおめでとうございます!!!

実はcpanコマンドは、今日ではあまりオススメできない状況です・・・
かわりに、cpanm(App::cpanminus)を使うと楽々です。

※手前味噌ですが参考にしてください><
http://yellowstore.blogspot.jp/2010/04/perlperlercpanminus.html

エラーについてですが、Perlでは、CPANモジュールのインストール時に自動でテストを行います。
このテストと言うのは、CPANモジュールが期待通りに動作することを保障するための物で、今回は、そのテスト結果がNGだった、と言うことになります。
原因は、Plackに必要とされているCPANモジュール(=依存モジュール,dependency)のうち、3つのモジュールのインストールに失敗していることです。

対策として、まずcpanmを導入し、cpanm --reinstall Plack を実行してみてください。
これで依存モジュールがきちんと導入されると思います。

------------------------------------------------------------------------------------------------
なるほど・・・これはcpanmを使ってぜひ再チャレンジしてみたいですね。
エラーはやっぱり気持ち悪い><





2012年5月7日月曜日

JUnitからPL/SQLのテストをする方法

が簡単に実現できたらいいなあ~
自動テストしたいよ、自動テスト。

残念ながら、まだ作ってないよ!てへぺろ☆(・ω<)

とはいえ、一応構想はあって、
JDBCでOracleに接続するClassを作って、そこからPL/SQLをCallする。
そのClassをJUnitから使うのはどうかなあ。

とにかく、やってみないとできるかどうかわかんないな(汗)


※釣りエントリでごめんなさいね。
 逆にいい方法があったら教えてほしいです。><

5/9 追記
なんとか上に書いた方法でJUnitを使った自動テストはできるようになりました。
ただし、PL/SQL側の共通モジュールだけ。。。残念。

PackageのMAIN_PROCからCALLされる内部関数をどうしてやろうか、ちょっと思案中です。
まとまったところで、エントリしたいと思います。

2012年5月6日日曜日

Oracle Database 11g R2 Express Edition(Windows x32)のインストール

Oracle Database 11g R2 Express Editionを自PCにインストールしました。

インストール先OS:Windows7 Starter

1.ダウンロードとインストール

◯ダウンロードサイト
http://www.oracle.com/technetwork/products/express-edition/downloads/index.html
ダウンロードしたzipを解凍すると、中にsetup.exeがあるので実行します。
SYSとSYSTEMのパスワードを入力するように促されるので、入力して「次へ」でインストールが開始されます。

個人的には、「サマリー」画面は念のためスクリーンショットを取っておいたほうがいいと思います。(以下はデフォルトの設定)
2.DB起動

スタートメニューの「データベースの起動」というメニューからDB起動ができます。
スタートメニュー→Oracle Database 11g R2 Express Edition→データベースの起動

起動中画面↓



サービスで確認すると 、OracleDBが起動しています。


3.DB停止

DB起動と同様に、スタートメニューの「データベースの停止」というメニューからDB停止ができます。
スタートメニュー→Oracle Database 11g R2 Express Edition→データベースの停止


停止中画面↓












サービスで確認すると、DBが停止しています。








4. SQL*Plus の起動

こちらもDB起動、停止と基本操作は同じです。
スタートメニュー→Oracle Database 11g R2 Express Edition→SQLコマンドラインの実行

で、SQL*Plusが立ち上がります。

connect / as sysdba

でDBにログイン出来ました。


5. GUI管理ツール

簡単な管理ツールがついています。
スタートメニュー→Oracle Database 11g R2 Express Edition→スタートガイド


こちらのツールで、表領域の使用状況や初期化パラメータの内容を確認することができます。
ログイン時にはインストール時に入力したSYSTEMパスワードを聞かれます。


※Enterprise Editionのような機能満載の派手な操作画面ではありません。
コマンドを使うことも多そうなので、いい意味でDBAのSQLを覚えられるかもしれません。

2012年5月5日土曜日

さくらVPSにPlackをインストールして実行してみた


2012/4/27に開催された Perl Bigunners  #2のLTで発表のあった、
@ytnobodyさん「PSGIへの誘い」

の資料を参考に、さくらVPSにPlackをインストールしてみました。

LT資料はこちら
http://www.slideshare.net/ytnobody/psgi-12705043


Webアプリケーションを動作させるのに、Apache等のウェブサーバが必要ないというお手軽さ。
LTでは設定も簡単そうに見えたので、チャレンジしてみました。


1. CPANのインストール
perl -MCPAN -e shell コマンドを実行すると、
Can’t locate CPAN.pm in @INC …のエラーが出て実行できませんでした。
調べてみると、どうもCPAN自体がデフォルトでインストールされていない様子。

さくらVPSのリモートコンソールからrootユーザでログインし、以下のコマンドを実行したところ、
CPANのインストールが実行されました。

yum install perl-CPAN

実行後、動作するか確認します。
cpan →起動しました!
exitでcpanモードから抜けます。












2.Plackのインストール
いよいよ本題のPlackのインストールです。
こちらのサイトを参考に、インストールを進めました。


◯Plack入門:Plackでウェブサーバを起動してhello worldするまで


例のごとくrootユーザで
cpan Task::Plack

を実行。

ここからが異常に長かった・・・
ところどころ、[yes]を聞かれるのですが、その数の多いこと・・・!
途中で盛大に寝落ちしていました(汗)
(あとあとフォロワーさんに教えてもらったのですが、yesコマンドというものがあるらしい。
ただ、今回は「n」を勧められる場面もあったので使えたかどうかは・・・?)

それでもなんとかインストールを終わらせることができました。

最後の画面はこんな感じです。
赤枠部分でいくつかエラーが出ているように見えるのですが問題ないのかな?
後でまた調べます。







エラーと警告らしきもの
but 3 dependencies missing (依存関係の警告?最新にすればいいのかな?)
make test had returned bad status, won't install without force

※今回、全体のインストールログを取るのを忘れました・・・大失敗!
次は気をつけます・・・

※ツイッターで「cpanコマンドじゃなくてcpanmを使うとインストールが楽になるよ」と教えて頂きました。ありがとうございます。


3.動作確認
/home/ユーザ名 ディレクトリ以下にsample.psgiを作成して配置しました。
内容は「Hello World」を表示させるだけの単純なもの。

plackup  /home/ユーザ名/sample.psgi

で常駐プロセスを動作させ、ブラウザから動作確認します。





プラウザからの確認







意外とあっさり動いてくれて、驚きました。
環境構築が楽でコード量も少なくてすむのはありがたいですね。(^^)


---追記 5/5 11:20
ふと、日本語の表示ってできるのかな?と疑問に思い、Hello Worldの部分を日本語に変えてみました。

結果としては、全く問題なく動作しました。








今回は、理屈は後回しにしてとりあえずやってみよう!という姿勢で始めたので、仕組みをきちんと理解できていません。少しずつ、PSGIの仕組みについても理解を深めていきたいです。

2012年5月4日金曜日

【雑記】今になってブログを始めた理由

Perl Beguinners #2 勉強会の感想をTwitterに流していて、その様子を見ていたフォロワーさんにブログがないことを伝えたところ、

「これを機に作ってみてはどでしょ?きっかけは重要ですよw」

とチキンな私の背中を押してくれたのが直接のきっかけでした。


これまで、参加してきた勉強会では
「ブログを書くまでが勉強会です!」 (小学生の遠足・・・?)
と散々言われていたので、そのたびに心苦しい思いをしていたのは事実です。

ただ、昨年度は仕事もプライベートもゴタゴタしていて、正直ブログを書く余裕がありませんでした。
やっかいだったのは、仕事がほぼ24h体制で会社からの電話を常に気にしていないといけなかったことと、家にいないと万一の際の対応ができないので外に自PCを持ちだして勉強する、というのも難しかったことです。
様々な精神的プレッシャーから体調を崩してしまったこともありました。

また、勉強会は土日開催が多く、半日(懇親会まで行くとほぼ1日)家を空けることになるので、家族の理解を得るのも大変でした。

そういった状況で、ブログを書く時間と気力を捻出するのは非常に難しく、結局勉強会で自分用にメモしたものをPCに保存して終わっていました。
それでも新しい言葉を覚えたり、貴重な現場の経験談を聞くことができたので、勉強会に参加することは非常に楽しかったです。


現在は仕事内容が変わったので、会社からいったん離れてしまえば仕事のことを気にする必要がなくなりました。プライベートの時間に集中して勉強することができるようになり、充実した生活になってきたなと感じています。

それでも主人と過ごす時間は一番大切にしていて、業後に一人でPCに向かうことはほとんどありません。
(ですので主人が寝ている朝の時間にこうしてブログを書いたり、勉強したりしています。しかもキーボードの音がうるさくないようにマクドナルドとかで(笑))


※最初は勉強会の感想だけ書く予定だったのに、おかしいなあ・・・
色々エントリが増えてきたぞ。ま、いいか。(適当)

さくらVPSのsshd_config 追加設定

昨日のブログエントリをTwitterのフォロワーさんに見ていただいたところ、以下の様なアドバイスを追加で頂きました。

(一部抜粋)
-------------------------------------------------------------------------------------------------------------------------------
鍵認証でログインできたら、USEPAM NO しておくと完璧ですヾ(@⌒ー⌒@)ノ
-------------------------------------------------------------------------------------------------------------------------------

USEPAMはsshd_configの設定にあったので、修正してプロセス再起動しました。
(デフォルトの設定はyes)

ちなみに、この「USEPAM」のパラメータの意味がわからなかったので、調べてみました。

USEPAMのPAMとは「PAM認証」のことであり、
-------------------------------------------------------------------------------------------------------------------------------
PAM(Pluggable Authentication Module)とは、 各種の認証処理を実行するモジュール群と、 それを利用するための標準的なAPI(Application Programming Interface)を備えたライブラリからなるユーザー認証システムのことです。

PAMを搭載したシステムでは、認証を必要とするほとんどのアプリケーションがPAM対応に作られており、標準の状態では/etc/passwdファイル(あるいは/etc/shadow など)の情報を元に認証を行うPAMモジュールを使うように設定されています。このPAMモジュールは、アプリケーションに代わって従来のUNIXパスワード認証を行っているに過ぎません。
(出典:http://www.atmarkit.co.jp/flinux/samba/sambatips02/sambatips02.html


-------------------------------------------------------------------------------------------------------------------------------



このあたりが問題なんでしょうね。
便利だけどセキュリティ的には・・・?というところなのでしょうか。

前回からsshd_configの設定を色々変更してきましたが、
sshd_configのパラメータ全体については、以下のサイトがわかりやすかったです。

◯sshdの設定(CentOS5)
http://www.obenri.com/_ntp_sshserver/sshdconfig501.html

前回変更したsshd_configのパラメータの意味は以下の通りです。

RSAAuthentication yes        →RSA認証(許可)
PubkeyAuthentication yes      →公開鍵認証(許可)
AuthorizedKeysFile      .ssh/authorized_keys    →鍵ファイルの場所(デフォルト値) 

PasswordAuthentication no    →パスワードなしでの認証(拒否)


2012年5月3日木曜日

さくらVPS公開鍵認証の設定でドハマリしました(汗)


前回からの続きです。
さくらVPSのセキュリティ設定で、公開鍵認証でのログインに挑戦しました。
これが3時間近くかかるというドハマりっぷりでした・・・

@ITに詳しい記事があったので、参考にさせて頂いてます。

鍵交換方式のsshでアクセスするには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/429usekeyssh.html


1.PuTTYを使って公開鍵・秘密鍵の作成

PuTTYダウンロードサイト
putty-gdi-20120211.zipをダウンロード、フォルダを解凍しputtygen.exeを実行。

鍵生成の際は、「Generate」ボタンをクリック後、アプリ上でマウスをグリグリ動かしました。
鍵生成時は擬似乱数じゃなく、ちゃんと乱数で生成しているのですねー。真面目だ(当たり前?)

そうすると、こんなイメージで認証ファイルの中身ができます。
「Save public Key」をクリックすると公開鍵が、「Save Private Key」をクリックすると秘密鍵ができます。
「Save public Key」の場合、なぜか拡張子がつかないので、ファイル名の最後に「.pub」をつけます。

ファイルは適当な場所に保存します。



2.公開鍵のアップロード
1.で作成した公開鍵をサーバの/home/ユーザ/.ssh 以下にアップロードします。

私はGUI大好き人間なので、WinSCPを使用してファイルをサーバにアップロードしました。
このあたりは各人の好きな方法で何でもいいと思います。

WinSCPダウンロードサイト


3.公開鍵ファイルのOpenSSH化
PuTTYで作った公開鍵はそのままでは使用できず、OpenSSHの形式にする必要があります。
サーバ上で、以下のコマンドを発行し、OpenSSHの形式にしましょう。
root権限で行なってください。

ssh-keygen -i -f 公開鍵ファイル名 > 新公開鍵ファイル名


4.公開鍵ファイル名の変更
3.で作成した、新公開鍵ファイルをコピーし、名前を「authorized_keys」に変更します。
もともとauthorized_keysが存在している場合は、catコマンドで追加します。

cat  新公開鍵ファイル名 >> $HOME/.ssh/authorized_keys


4.パーミッションの変更
rootでログインして、.sshとauthorized_keysのパーミッションを以下の通りに変更します。
.ssh → 700(rwx------)
authorized_keys → 600(rw-------)


5.動作確認
putty.exeで動作確認を行います。
putty.exeを起動すると設定画面が出てくるので、以下の設定をしてOpenします。
・Host Name
・Port(デフォルト22から変更している場合)
・Private key file for authentication →秘密鍵を指定

他にも細かい設定がありますが、とりあえず最低限これだけ設定すれば動きました。

鍵認証が成功すると、以下の様な画面が立ち上がってパスフレーズを入力するように促されます。鍵を作成した際のパスフレーズを入力すると、ログインすることができます。


















6.sshd_configの編集・プロセス再起動
上記設定だけではパスワード認証が可能なので、 sshd_configを編集し、パスワード認証を不可にします。

変更箇所は以下の通り。
vi /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

PasswordAuthentication no

その後、プロセス再起動をかけます。

/etc/init.d/sshd restart

これでパスワード認証が拒否されるようになります。


★たったこれだけのことで、文献もたくさんあるのに、なぜドハマリしたか
1.公開鍵をOpenSSH方式にしないと動かないことを見逃していた。(1回目)
2.公開鍵をOpenSSH方式に変換後、authorized_keysをコピー作成する際にtypoした。(2回目)

ここからはクライアントからサーバまで、設定を洗いざらい見直しました。
「サーバーが鍵を拒否しました。」
の文字列は当分見たくありません・・・


公開鍵認証ができなくて困っていることをTwitterでつぶやいた時、フォロワーさんがアドバイスをたくさんくださいました。
本当にありがとうございます!

------------------------
●Twitterでいただいたアドバイス

鍵ファイルのパーミッション?

あと ~/.ssh ディレクトリのパーミッションが700になってないとか・・・?

sshの鍵認証が通らない原因か・・・ あとよくあるのが「公開鍵コピー時に改行混入」

「authorized_keys のファイル名間違い」「(OS再インストール時などの場合)クライアント側のknown_hostsに古いhostkeyが残ってる」とか?

特にコピペでauthorized_keys作るときになりがちなのが改行混入

wc -l authorized_keys とかして行数確認するよろし

あと、公開鍵認証で正常ログインできるようになったら、忘れないうちにパスワード認証を無効してsshdを再起動だな これやらないと意味がない・・・

サーバ側で必要なキーは初回起動時に自動作成されるはずだから気にしなくても大丈夫 puttygen使ってるんだったら、サーバへコピーする鍵はOpenSSH用でないとまずいですねー

ぼくも何度か鍵を拒否されましたが、きちんと鍵作り直したらいけました。
鍵を2048bitで作ってみてください

------------------------

2012年5月1日火曜日

さくらVPS(月額980円)を借りてみました



2週間のお試し期間につられ(笑)、さくらVPSを契約しました。
一度プランを決めてしまうとスケールアウトはできないようですが(そんなのはクラウド
サービスの方でやれってことですね)、月額980円で利用できるのは魅力的なので契約
しちゃいました。(白い小動物との契約では(ry)

前回参加した Perl Beginners #2で、PSGIを設定しても怒られないのがさくらVPSだというのを聞いて
刺激を受けたのは確かですが、それ以上にLinuxの設定・運用に興味がありました。

会社ではWindowsサーバの運用しか経験がなく、今までUnix、Linuxに触る機会がありませんでした。
また、去年までインフラ系の仕事をしていた関係で、Twitterのフォロワーさんは自宅にサーバーが
あったり、サーバーラックがあったり、ネットワーク機器がしこたまあったりする方ばかりで、
家に置き場がない私には正直実機を使ったインフラの勉強は無理だと思っていました。

今年度からは古巣のアプリ屋に戻ってきましたが、開発は自分のPCだけでできることも多いので、
主にJava6の新機能を勉強しています。

本題からだいぶそれましたが、そんな身の回りの変化もあり、本腰を入れて色々チャレンジする年に
してみようかなと思っています。

なお、さくらVPSの初期設定を行うにあたり、以下のサイトを参考にさせて頂きました。
ありがとうございます。
http://www.obenri.com/_command/passwd01.html
http://suin.asia/2010/10/11/sakura_vps_ssh

実際にやったことは以下の通りです。ほとんど上記サイトの手順で実施できました。
  1.rootのパスワード変更
  2.ユーザーアカウント作成、パスワード設定
  3.SSH待受ポートの変更
  4.rootのパスワードを無効化
  5.SSHDの再起動
  6.外部からのSSH接続でrootアカウントのログインができないことを確認。
  2.で作成したユーザアカウントからはログイン可能。

公開鍵認証はまだ設定していないので、明日以降実施する予定です。