公開鍵認証の設定

公開鍵認証の大まかな手順

○ログインする側

公開鍵の作成
[shell]ssh-keygen -t rsa[/shell]

~/.ssh/id_rsa.pub
というファイルができあがるので、このファイルをログインされる側のサーバに何らかの手段で転送する。

○ログインされる側

公開鍵の設置

authorized_keys」ファイルにログインする側で作成した公開鍵の中身を貼り付けます。

ssh公開鍵の作成

鍵ペアの作成

opensshがインストールされているLinux等で、ssh-keygenコマンドを使用して以下のいずれかの鍵ペアを作成

  • RSA1鍵(ssh version1)

% ssh-keygen -t rsa1
作成される秘密鍵: ~/.ssh/identity
作成される公開鍵: ~/.ssh/identity.pub

  • RSA鍵(ssh version2)

% ssh-keygen -t rsa
作成される秘密鍵: ~/.ssh/id_rsa
作成される公開鍵: ~/.ssh/id_rsa.pub

  • DSA鍵(ssh version2)

% ssh-keygen -t dsa
作成される秘密鍵: ~/.ssh/id_dsa
作成される公開鍵: ~/.ssh/id_dsa.pub

ベリサイン(verisign)のクロスルートでのSSL設定について

ベリサインSSL証明書で携帯もやりたいので、クロスルート中間証明を入れる。

クロスルートとはどーいう事かというと、

「セキュア・サーバID」公開鍵長2048bit対応の端末の場合
2048bitの対応端末ではルート証明書は「Class 3 Public Primary CA – G5」に変更となり、サイト証明書との間に中間証明書が入る3階層となります。
Class 3 Public Primary CA – G5
Class 3 Secure Server CA – G3
サーバ証明書

「セキュア・サーバID」公開鍵長2048bitに未対応の端末
2048bitのルート証明書「Class 3 Public Primary CA – G5」を搭載していない未対応の端末では、最上位に「Class 3 Public Primary CA」を追加して4階層となります。
Class 3 Public Primary CA
Class 3 Public Primary CA – G5
Class 3 Secure Server CA – G3
サーバ証明書

実際にどのように設定するかというと
以下のURLにあるクロスルート設定用証明書を中間証明書に設定します。

https://www.verisign.co.jp/repository/intermediate.html

中間証明書のファイルを開くと

このような構成になっています。

ここに

という感じで追加します。

この中間証明書とクロスルート設定用証明書の位置には意味があります。
上下逆だと、うまく機能しません。

参考資料:日本ベリサイン SSLサーバ証明書 階層構造[PDF]

日本ベリサイン SSLサーバ証明書 階層構造

Apache(2.2系)でSSL接続(なんちゃって、個人認証編)

ApacheでSSL接続をするために、SSL個人認証を入れる。

opensslで秘密鍵(server.key)を作成

サーバー用公開鍵(server.csr)作成

このコマンドを実行すると、いくつか設定する項目が表示されます。

設定の内容

個人認証局の作成-認証局の鍵の作成

個人認証局の作成-認証局の証明書の作成

※365というのは、期限なので、この場合は1年という事になる

設定の内容

※Common Name (eg, YOUR name) []:は先につくったserver.csrと別の名前にしないとうまく動かないそうです。

サーバーの証明書を作成

httpd.confを編集
SSLのLoadModuleを有効化
以下を追加(先頭に#がついてコメントになっているかも)

サーバ名の設定
ServerNameの項目を有効にして、サーバの名前を設定する

conf/extra/http-ssl.confの編集
※もしかしたら、存在しないので、そのときはhttpd.confの最後に追加するか、新規にssl.confファイルを作ってhttpd.confでInclude ssl.confなどとする
サーバ名と管理者のメールアドレスをhttpd.confと同じように変更。

証明書の指定

秘密鍵の指定

CA証明書へのパス設定

rspecでコントローラのテストを書くときのTips

モジュールがインクルードされているか

隠したいパラメータがフィルターされているか

Before filters

レスポンスコード

authenticity_tokenのチェックをスタブでtrueにする

Filtered parameters

特定のアカウントのsudo時のパスワードを聞かれないように設定する

特定のアカウントでsudoする時に、パスワードを聞かれないように設定する。

コマンドでsudoerファイルを開き、以下の行を追加(修正)する

とすると、パスワードを聞かれなくなる。

MySQLのselectで任意の順番にソートする

MySQLで任意の順番にソートをするにはfieldを使う

id name
1 一郎
2 二郎
3 三郎
4 四郎
5 五郎
6 六郎
7 七郎
8 八郎
9 九郎

というテーブルがあるとする。

とすれば、

id
1
2
3
4
5
6
7
8
9

という一覧が返ってくる

とすると

id
1
2
3
7
8
9
4
5
6

という結果が返ってくる。

なぜか、fieldで指定していないIDが最初に表示され、最後にfieldで指定したレコードが順番に並ぶようだ。

希望としては

4,5,6が最初に表示されて、その後に1,2,3,7…と出てほしい。

これを実現するには

とする

Linuxのコンソール上で定期的な処理を簡単に書く

Linuxのコンソール上で、たとえば、特定のプロセスのメモリ使用量を観察したい場合

毎回手でpsコマンドを打つのは面倒になる

そんな時は、whileでコマンドを回そう

これをコンソール上で入力すると、処理が繰り返される。

参考までに、繰り返す処理は、

clear
コンソール上を掃除

ps aux
起動中のプロセスを一覧

sleep 1
1秒間待機

VMware Player 4.0登場

先日、VMware Workstation 8.0がリリースされました。

そのVMware Workstation 8.0には、VMware Player 4.0が同梱されていましたが

VMware Player 4.0単体でのインストーラはまだでした。

ですが、やっとリリースされたようです。

ダウンロードはこちらから

VMware Player 4.0で新しくなった部分は

インストールの変更と拡張キーボード

このバージョンの Workstation では、インストールするためのハードウェア要件が変更されました。Workstation で比較的新しい 64 ビット CPU が必須になりました。詳細は、「 インストール要件」 を参照してください。

キーボード フィルタ ドライバがデフォルトではインストールされなくなりました。ドライバがインストールされていないと、拡張キーボード機能が使用できないため、Ctrl- Alt-Del キーストロークをゲストに送信するには、Ctrl-Alt-Del の代わりに Ctrl-Alt-Ins を押す必要があります。

拡張キーボード機能を使用するには、カスタム インストールを実行し、コンポーネントを選択する必要があります。コンポーネントを選択した場合、Workstation をインストールまたはアンインストールするたびに再起動が必要になります。

仮想ハードウェアの改良

このバージョンの Workstation には、ハードウェアの改良点が数多く含まれています。新しいハードウェア機能を試すには、仮想マシンのハードウェア バージョンをアップグレードするか、最新の仮想ハードウェア バージョンを使用する仮想マシンを新しく作成する必要があります。

  • 表示テクノロジーが変更されて、ユニティ ユーザーと複数モニタを使用するユーザーの操作性が向上しました。また、これらの変更によって、仮想マシンを再起動することなくラップトップにプロジェクタを追加できるようになりました。
  • 仮想マシンで、最大 64GB のメモリをサポートできるようになりました。この機能を使用するには、ホスト システムに 64GB よりも大きいメモリが搭載されている必要があります。
  • HD オーディオ デバイスが、Windows Vista、Windows 7、Windows 2008、および Windows 2008 R2 ゲストで使用できるようになりました。この HD オーディオ デバイスは、RealTek ALC888 7.1 チャネル高品位オーディオ コーデックと互換性があります。
  • USB 3.0 サポートが、カーネル バージョン 2.6.35 以降 (Ubuntu 10.10) を実行している Linux ゲストに新しい仮想 xHCI USB コントローラを通じて提供されます。この機能を有効にするには、 .vmxファイルに 「 usb_xhci.present = “true”」 という行を追加します。Windows ゲストに対してこの機能を有効に しないでください。現時点では Windows には汎用 xHCI ドライバがないため、この機能は Windows では動作しません。
  • ホストの Bluetooth デバイスを Windows ゲストと共有できるようになりました。最新のハードウェア バージョンでは、ホスト システムの無線とペアリングされた Bluetooth デバイスを Windows ゲストで使用でき、ゲスト内からペアリングすることができます。ヘッドホンなどの Bluetooth オーディオ デバイスおよびキーボードやマウスなどの Bluetooth 入力デバイスはペアリングしないでください。
  • プロセッサ設定インターフェイスで 仮想 VT-X/EPT または AMD-V/RVI を有効にできるようになりました。この機能を使用すると、ゲストを実行するアプリ ケーションがこれらの仮想化テクノロジーを利用できます。また、Workstation 内で実行されている vSphere の内部で 64 ビット ゲスト オペレーティング システムを実行することもできます。

Ubuntuのsudoersを編集するときはvisudoで!

Ubuntuで、一般ユーザにsudo権限をつけるときに

/etc/sudoersに設定を追加する必要があるが、

viでは開けない。

なぜなら、パーミッションがリードオンリーに設定されているため。

このパーミッションを変えると、sudoが使えなくなる。

sudoが使えないとchmodも出来ない。

chmodが出来ないとなると、sudoが一生使えない。

というループに陥る。

では、どうするかというと、visudoというコマンドで編集する。

これで編集すれば、パーミッションの問題はクリアされる。

もし、パーミッションを手で変えてしまった場合は…。。。。。

CDからブートして、そこのコマンドラインで

該当の/etc/sudoersのパーミッションを440に変更する。

 

VMware PlayerでBIOSを出す

VMware PlayerでBIOS画面を出すには

F2を押す

だが、タイミングを間違えるな。

準備はVMware Playerをまず起動する

次に仮想マシンを開くで、該当のVMを選ぶ

仮想マシンの再生ボタンを押して

VMwareのスプラッシュが消えたらF2を連打

これでBIOSに入れる

Ubuntuの起動時にGUIのログイン画面を表示させない(CUIモードにする)

UbuntuをVMwareで実行していると、結構メモリが大変なことになったりする。

そこで、普段使わないGUIを起動時には起き上がってこないように設定してみる。

CentOSだと、inittabのランモードを変更すればすぐなんですが

Ubuntuだと、それでは駄目らしく

/etc/default/grub というファイルを編集します。

このファイルに

GRUB_CMDLINE_LINUX_DEFAULT

という行がありますが、変更前は

こんな感じになっていると思います。

このうしろに、スペースで区切って「text」というのを追加。

ファイルを保存して

を実行することで、起動時のGUIログイン画面が表示されなくなります。

 

Ubuntuのコマンドラインでユーザを作成

Ubuntuのコマンドでユーザを作成する場合

UbuntuのGUIでユーザを作成した場合、/home/にユーザのディレクトリが作成されるが

コマンド「useradd」をした場合、作成されない。