2013年11月15日金曜日

WinSCPをタスクで自動起動 — SSH鍵とパスフレーズの問題(ただしWindows2000の話し)

Windows2000の話しです。今年は2013年ですがまだ使っています。
定期的にデータを別のFreeBSDサーバーに転送するためにWinSCPを使います。

ここからFreeBSDサーバーへは既にSSHで接続しているので、普通にパスフレーズのあるSSHキーを使って認証していました。

同じキーを使って WinSCP で転送しようと思い、まずはWinSCPスクリプトとそれらを起動するバッチを書きます。
以下に例を掲載しますが、これでPagent を常駐させてキーとパスフレーズを登録しておけば trans.bat をダブルクリックして、問題なく転送できました。

trans.winscpscript (WinSCPスクリプト)
option batch on
open username@myserver.example.com
option confirm off
put "d:\document\*.*"
exit

trans.bat (バッチ)
"C:\Program Files\WinSCP\WinSCP.com" /console /script=c:\...\trans.winscpscript

しかし、タスクスケジューラにこのバッチを登録して定期的にバッチを起動させようとしても転送はされません。

ログを見てみるとサーバー側からpublicキーに対応するprivateキーがないというような「お断り」のメッセージが来ています。
どうも、タスクスケジューラで起動した場合は Pagentが効かないようです。

そこで、バッチを少し書き直してprivateキーを指定するようにします。

trans.bat (バッチ)修正版
"C:\Program Files\WinSCP\WinSCP.com" /console /script=c:\...\trans.winscpscript /privatekey="C:\Documents and Settings\.....\mypravatekey.ppk"

しかし、これではパスフレーズが渡せていません。WinSCPにパスフレーズのコマンドオプションはないようです。

仕方ないので、転送用にパスフレーズのないprivateキーを作ることにしました。
今使っているprivateキーをPuTTY key gen で読み込んで、パスフレーズを削除して、これを別の名前で保存すれば、そのままprivateキーとして使えます。
例えばmypravatekey_nopass.ppk のようなファイル名にします。

trans.bat (バッチ)再修正版
"C:\Program Files\WinSCP\WinSCP.com" /console /script=c:\...\trans.winscpscript /privatekey="C:\Documents and Settings\.....\mypravatekey_nopass.ppk"


セキュアじゃないかもしれないですが、ほかに何かいい方法があればどなたか教えていただければと思います。(ただしWindows2000です)

2013年11月6日水曜日

Magic Mouse のスクロールをもっと速くする

Magic Mouse はマウスの表面を一本指で縦や横にスワイプすることでスクロールを制御できます。
この反応が僕にはすごく遅く感じられる。なんとか速く動くようにできないものか。

「システム環境設定...」の「マウス」にはなぜかこのレート(スワイプ距離とスクロールの大きさの割合)を設定する項目がない。

実際は「システム環境設定...」の「マウス」ではなく、「アクセシビリティ」で左サイドメニューから「マウスとトラックパッド」を選択して、ウィンドウ下部の「マウスのオプション...」をクリック。ここに「スクロールの速さ」の設定ができるスライドバーがありました。


よく知られていることかも知れないが、僕は見つけるのにだいぶ時間がかかった。