2008/10/21(Tue)VistaでIPPプリンタにPortFowardして接続
2008/10/21 20:13
さらに認証方式は、https+Basic認証という形をとっていて、この情報をもとに印刷枚数の管理をしている。
というわけで、これまでXPでは、外部公開しているSSHサーバーを
が、Vistaからは少々フォワード設定を工夫しないとうまくつながらないので、そのメモ。
定義
最初に、例として説明する架空のサーバーを定義。- 外部公開されているSSHサーバー
- login.example.com:22
- LAN内しか見えないIPPプリンタ
- https://press2.printer.example.com:443
フォワード設定
PuTTYごった煮版に含まれているpfwd.iniに次のように定義しておく。そして、pfwd.exeを実行。パスワードを入力して、プリンタ使用中だけ常駐状態にしておく。
[SSH] Host=login.example.com Port=22 User=kero [FORWARD] 01=L10443:press2.printer.example.com:443これで、
自宅PC | -> | 遠隔地のSSH | -> | IPPプリンタ |
---|---|---|---|---|
localhost:10443 | login.example.com:22 | press2.printer.example.com:443 |
プリンタの追加
XPまでは、このように指定することができた。
が、これをVistaでやると……

失敗する。
原因を調べてみたところ、ローカルフォワードすることによって、ホスト名が本来のものではなく"localhost"となってしまうのが原因らしい。SSL証明書と一致しないため、無条件で撥ねられてしまう。
証明書の方を黙らせるのは何かと大変だし、あまりやりたくないので、本来のアドレスっぽく見せかけて繋ぐ方向でいく。
hosts
やってみた。何かとお世話になるC:\Windows\System32\Drivers\etc\hostsを編集。
単に、このホスト名はこちら(自分のPC)ですよ、と書いているだけ。
一行追加。
メモ帳を管理者として実行してから開いて編集→保存としないと、UACによって上書きできないので注意。
127.0.0.1 press2.printer.example.comで、準備はOK。
本来のようにアクセスする。
ただし、ポートフォワードは、ローカル側が10443になっているのでポート番号指定をお忘れなく。

これで一件落着。
さらに
これはXPでも使えるテクニックだが、ネットワークプリンタ名は何故か変更することができない。例えば、先のプリンタであれば、colorw - https://press2.printer.example.com:10443のような迷惑な長さのプリンタ名になってしまう。
これを自由に変更する方法を紹介する。
まず、↑のようにネットワークプリンタを一度追加する。
次に、再度プリンタの追加を選び、「ローカルプリンタを追加します」を選ぶ

先ほど入力したアドレスのプリンタを選択。
おそらくユーザー認証は既に済んでいるので、求められないはず。

ドライバを再度選択。

そのまま次へ。

ここで好きな名前のプリンタ名に変更。後から変更できないのでご注意。*1
名前を変えたくなったら、このセクション(ローカルプリンタの追加から)を再度行ってください。

追加完了。

後は、長ったらしい名前のプリンタを削除するだけでOKです。
ユーザー情報などの情報はプリンタアイテム毎に持っているわけではなく、アドレス毎なので、同じプリンタを指すものが複数あってその片方を削除しても問題ないというわけです。
ひとつ欠点があるとすれば、プリンタの一覧で、待ちジョブ数が表示されません。
常に"0"となっていますが、ダブルクリックして開けば、きちんと待っているジョブが表示されるので、実際の使用に支障はないかと思われます。
