WindowsからMacにリモートログイン(SSH) 鍵認証

前回の設定でローカル内のWindowsからMacにリモートログインできるようになりました。
今度は公開鍵と秘密鍵を作って鍵認証のみでログインできるようにします。

下記サイトを参考にしました。
http://d.hatena.ne.jp/cantucci/20100724/1279932989

というかほぼそのままだけど。ちょいと長くなりそうなので追記で。


1.Windows側で鍵を作成
鍵を作成するために下記ツールをダウンロード。
http://yebisuya.dip.jp/Software/PuTTY/
「puttygen.exe」を開いてウィンドウ下の生成する鍵のビット数を2048にする。生成する鍵の種類がSSH-2 RSAになっていることを確認して生成ボタンをクリック。

鍵を作り出すのでマウスをグリグリする。
鍵のパスフレーズにパスワードを入力。
公開鍵の保存、秘密鍵の保存をする。上部メニューの変換からOpenSSH形式へエクスポートをする。
これで3つの鍵が作られる。
id_rsa.pub(公開鍵)
id_rsa.ppk(秘密鍵:WinSCPとか用 イマイチ違いを理解してないorz)
id_rsa(秘密鍵:今回使う)


2.Mac側に公開鍵を移す
せっかくWindows側で操作できるようになってるので、TeraTeamでやります。
TeraTeamでMac側にログイン。

.sshディレクトリを作成
mkdir .ssh

公開鍵を作成
vi .ssh/authorized_keys

Puttyの画面の上部に表示されている「ssh-rsa ******」というながーい文字列を全てコピペ

パーミッションを変更
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

3.SSHの設定を変更
一応バックアップをとる
sudo cp -p /etc/sshd_config /etc/sshd_config.bk

設定の変更
sudo vi /etc/sshd_config

下記を変更
PermitRootLogin no ←ルートでログインできないように
PermitEmptyPasswords no ←パスワード空の認証をできないように
ChallengeResponseAuthentication no ←チャレンジ応答認証を禁止。
PasswordAuthentication no ←パスワード認証を禁止
RSAAuthentication yes ←RSA鍵認証を許可
PubkyAuthentication yes ←公開鍵認証を許可
AuthorizedKeyFiles .ssh/authorized_keys ←公開鍵がおいてある場所

SSHを再起動
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist

これでSSHでログインするには鍵(とパスフレーズ)が必要になりました。

次はドメインをとって外部からSSH接続できるようにしてみたい。

WindowsからMacにリモートログイン(SSH) とりあえずローカル内

自宅の全然使ってないMacをサーバとして使ってみようかなと思い、
まずはローカルネットワークでのみ共有できるようにしたのでメモ。
2台とも同じローカルにいるってこと前提。
ちなみにMaxはOSX10.5,WindowsはXPです。

といってもWindows→Macは超簡単。
1.Mac側の左上のりんごマークからシステム環境設定→共有→リモートログインにチェックを入れる
2.アクセスを許可のところに次のユーザのみにしておく

これでおわり。まじメモっておく必要あったのだろうか。
すると共有画面の真ん中あたりに
ssh username@192.168.x.xx(MacのプライベートIPアドレス)
と出るのでWindows側TeraTeamとかを使ってMac側の操作を出来るようになる。

これでWindows側からMacを操作できるようになり、
Mac側にSVNリポジトリ作ってMac,Windowsでソースを共有できるようになりました。きゃっほう。

ついでに一応外部からもいけるように設定をあとでしたいので、SSHのポートも変更しておいた。
ターミナルから

sudo vi /etc/sercvice

と打ってSSHの番号を適当な数字に変えて再起動すればよい。
鍵認証でのみログイン可能にする場合はどうすんだろ。あとで調べよう。

もいっこついでにMacPortsという超便利ツールがあるということを知ったのでそれもインストール。
むしろこっちの手順のほうがメモっておかないと忘れそう。
1.XcodeToolsのインストール
Macのインストールディスクを入れて、Xcodeのパッケージをインストールする

2.MacPortsのインストール
http://www.macports.org/
こっからいって自分のバージョンにあった奴を落としていれる。
このあと参考にしたサイトではパスを通す作業が必要とか書いてあったのですが
僕の環境だとインストールしたあと勝手に.bash_profileに追加していてくれました。
しかもちゃんとバックアップまでとってた!かしこい!

3.proctoolsパッケージをインストール
とりあえず今やりたいことではプロセスを監視して必要であれば殺したり出来るようにしたいので
pgrepとpkill等のコマンドをmacでも使えるようにしておきたい。
そのためにはproctoolsなるものが必要らしいので早速インストール

sudo port install proctools

これでMacでpgrepとかpkillコマンドが使えるようになりました。

シェルスクリプトを使ってやりたいことがあるのでその勉強もしないとなあ。

eclipse環境まとめ PHP用


※2011/3/24追記

http://sourceforge.jp/projects/pdt-tools/releases/?package_id=9452
コメント欄で教えてもらいましたが、ここからPatched plugin for eclipse-php-helios-SR2の3つのファイルをelipseのpluginに上書きインストールしてeclipse -cleanで起動すれば2.2.1以降でもコメントアウトできました。ありがとうございます!ていうか変更履歴みたら普通にバグだったんじゃん…。みんなあまりctrl+/を使わないってことかしら。まぁ確かにあんまり使わないかもしれないけど無いと不便すぎじゃん!
追記ここまで


地震とは無関係に家で使ってるeclipseのPDT2.2.1にしてみたらなんかコメントの切り替えのショートカット(Ctrl+/)が効かなくなって1時間くらい立ち往生して、結局大してまだ何も入れてないからもっかいつくればよくね?ってことで落としなおしたのでメモ。
ちなみにWindowsXPです。

1.eclipseをゲット。
http://www.eclipse.org/pdt/
Eclipse PDT 2.2.0 All In Ones / Eclipse PHP Package
特に意味は無いけどeclipseの3.6が使いたいのでこっち。
どうせ日本語化するのでpleiadesの3.6を落としたほうが早いんだけど、PDT2.2.1なのでやっぱりコメントアウトのショートカットが効かない。なんなの。
ダウンロードしたら解凍して、好きなディレクトリに配置

2.日本語化
http://mergedoc.sourceforge.jp/
Eclipseはもうあるので本体だけダウンロード。
ダウンロードしたら解凍して、中身のreadmeファイル以外をeclipseに放り込む。
eclipseの中にあるeclipse.iniの最後に下記を追加

  • javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

3.JStyleのインストール
タブや全角スペースをeclipseに表示してくれるだけなんだけど、すごい重要。超便利システム。
http://mergedoc.sourceforge.jp/
ここからバージョンにあったものをダウンロードしてeclipseにほうりこむ。
今回は3.6.0
おわったら、「eclipse.exe -clean.cmd」からeclipseを起動。eclipse.exeじゃないよ。
これで日本語になってれば無事終了。


4.Subversiveのインストール
eclipseSVN使う定番。もう一個あるけど、始めて使ったのが特に不満は無いのでとりあえずこれを使ってます。
eclipseのメニューからヘルプ→新規ソフトウェアのインストール
作業対象のところをHelios - ほにゃららってのを選ぶ
フィルターにSubとかいれると4つ候補があがるのでチェックしてインストール
色々聞いてくるけど全部YES。
終わると再起動しろって言われるので再起動。
再起動するとSVNコネクタ入れろといわれるのでSVN Kitの一番新しいのを入れる。


5.Aptanaのインストール
JavaScriptCSSをいじるときに超便利。ないと無理。
ただ、毎回Eclipse開く度にタブ開くのはなんとかなんないんですかね。うざくてしょうがない。
Eclipseのメニューからヘルプ→新規ソフトウェアのインストール
作業対象に下記URLをコピペして右上の追加ボタンを押す
http://download.aptana.com/tools/studio/plugin/install/studio
名前入れろいわれるのでAptana2とかいれておく。
AptanaStudioが出てくるのでチェックしてどんどん先へ。


で、これメモるためにもう1回Aptanaのサイトみにいったんだけど3とか出てたんだ。しかもなんか背景がデフォルトで黒くてかっこいいっぽい!?まぁとりあえず2でいいや。何か違うんですかね?

6.AptanaAjaxサポートのjQueryをインストールする

デフォルトだとjqueryのコード補完をしてくれないので、インストールする必要がある。
前はいらない気がしたんだけど。まぁないならしょうがない。
Eclipseメニューからウィンドウ→MyStduio
うざったい画面が開くので右のPluginsをクリック
左下のタブのAjaxをクリック
jQuerySupportのGetitをクリック
インストール画面が出てくるのでそのまま入れる


インストールし終えたらメニューからウィンドウ→設定→Aptana→エディター→JavaScript→コードアシスト
jQueryにチェックを入れる


7.テキストエディタを色々設定
ウィンドウ→設定→一般→エディター→ファイルの関連付け
jsをAptanaJSエディターをデフォルトにする(なってたけど。)
同じく設定画面のAptana→エディター→JavaScript→フォーマット
僕はタブ派なのでインデントはタブのみに設定
CSSも同じようにタブのみに設定


うむ、これで最低限はそろう。ていうかまじコメントアウトのショートカットが効かないのはなんなんだろ。ぐぐっても他に同じ症状でてるっぽい人いなかったしなあ。


今勉強しつつCakePHPで作ってるアプリはとりあえずローカルでソース管理してるけど、せっかくサーバー借りたんだしそっちで管理するようにしようかしら。やったことないのでまた勉強すること多そうだけど。

CakePHP1.3 FormのGETとPOSTとAjaxで渡されてくる値

CakePHPマニュアルを見ながらちょこちょこと何かを作っていますが、フォームのGET,POSTでコントローラに渡されてくる値のとり方が違うので躓いたのでメモ。

POSTの場合
$this->data["モデル名"][key]

GETの場合
$this->params["url"][key]

Ajaxの場合(jQueryのPOST)
$this->params["form"][key]

見事にバラバラとかなんなの…。試してないけどAjaxでGET通信の場合はGET通信と同じなのかな?
すごい気持ち悪いけどこれが仕様なんですかね。
渡され方を見るとPOST通信の場合もViewでなんかすれば、Ajaxと同じ渡され方になるような気がするけど。

あとjQueryPHPを両方編集してると頭おかしくなりそう。$打つのめんどい。まじ。

追記
フォームでモデルを指定すると直接データに入ってくるだけだった。
何もしないとPOSTの場合は$this->params["form"]に入ってきてGETだと$this->params["url"]に入ってくるということですね。わかりました。

今日からスタート

最近CakePHPの勉強をしだして、思ったよりも覚えなきゃいけないことが多いので、メモとか書く。
なんかテンプレートが変更できない。というかテンプレート画面にいっても何も表示されない。
なんなの…。まぁ覚書だしとりあえずいいか。