.ppkファイルとか渡されて困ったとき
PuTTY 独自の形式の .ppk ファイルで鍵ペアを渡されて困ったときのためにメモ。
PuTTY に付属している puttygen コマンドで普通の公開鍵・秘密鍵に分離できる。
Debian 系なら putty-tools
パッケージをインストールするだけでいいらしい(未確認)
OSX だと ports 使うか自分でビルドする。
ぼくは自分でビルドした。
wget http://the.earth.li/~sgtatham/putty/latest/putty-0.60.tar.gz
tar zxvf putty-0.60.tar.gz
cd putty-0.60/macosx
make puttygen
で puttygen だけビルドできる。っていうか全体 make はぼくの環境では失敗した。まぁこれさえビルドできればOK。
秘密鍵を取り出す。
./puttygen unko.ppk -O private-openssh -o private_key
公開鍵
./puttygen unko.ppk -O public-openssh -o public_key
putty tray
xcezx さんにおしえてもらった。
PuTTY Tray is an improved version of PuTTY (Win32).
Features
- New high color icon.
- Minimize to the system tray (on CTRL+minimize, always or directly on startup)
- Customizable (tray) icon
- Blink tray icon when a bell signal is received
- Configurable window transparency
- URL hyperlinking
- Reconnect when PC wakes up from stand-by
うれしいのはURLがクリッカブルになるくらいでしょうか。なんかバグってるけど。あとアイコンもカワイイ。
でもごった煮についてるCtrl-Tabでのウィンドウ切り替えができなくてうーん。一長一短。
Ctrl-Tabなくなったら死ねるけど、URLもクリックしたいので
ここで配布されてる PuTTY のウィンドウを Ctrl+Tab で切り替えられるようにするパッチ ためしにあてたらハイブリッドなバイナリができた!
一応おいておくけど、自己責任で><
アイコンやmanifest埋め込みはしてないけど、設定でアイコン指定すれば無問題。
作業手順
- puttyソースDL
- putty trayパッチ当てる
- ctrl-tabパッチ当てる、(一個うまく当たらんからそこ手動でつっこむ)
- WINDOWS\MSVC\PUTTY に VC 用のワークスペースファイルあるのでそれ開く
- putty trayで追加されてると思われるファイルを適当にプロジェクトに追加
- ビルド
ビルドは VC++ 2005 Express でやった。
256色PuTTY with screen
でけた。
ごろさんのやり方を参考にいろいろ
subtechグループ - 'hceT'.sub(/\Z/,'bus').reverse - putty 256色
- screen の --enable-colors256 のコメントアウトをハズして debuild る
- ncurses-term を入れて /etc/terminfo を れて/usr/share/terminfo の symlink にする←これって大変微妙
- putty の xterm-256 を使うのチェックを入れる
- putty の端末タイプの文字列を xterm-256color に
1やって、2は ncurses-term (terminfo/xterm-256colors用) いれただけ。symlinkはいらねぽい。
3やって、4 は screen しかつかわなかったら変えなくてOk。
これで screen 上で 256color2.pl は通るようになる。
でも emacs, vim ともに TERM=xterm-256colors して起動しないと256にならん。こういうもんかね。
あと、このままだと背景色関係などおかしな部分が出るので .screenrc に
defbce on
と書いて bce モードを ON にする。こうすると vim とかの特定の colorschema で背景がおかしくなるのも治る。bce モードが何かは知らない(ぉ
後こうすると TERM が screen-bce とかになるのでいろいろなスクリプトの書き換えが必要、めんどい。