昔は PortForwarder、数年前から Tera Termの SSH転送と非表示実行で自宅 Windows PCから各所へ SSHでトンネルを掘っていた。
Windowsでも 10のバージョン 1803から ssh(OpenSSH)クライアントが搭載されているので利用するようにしてみた。
肝としてしては以下の二点
・ログインと同時に開通
・UIはいらない(というか、あると邪魔)
まずはトンネルが掘れることを確認と known_hostsへの登録。*1
ssh -p 22 -i “C:\Users\???\.ssh\id_ecdsa” user@host -N -L 5901:192.168.0.206:5900
確認できればこのままスタートアップへ登録すれば動くのだけどコンソールが邪魔。
なので、タスクスケジューラでログインをきっかけに起動するように。
タスクスケジューラでタスクの作成。
・全般 / ユーザーがログオンしているかどうかにかかわらず実行する。(パスワードを保存)
・全般 / 最上位の特権で実行する
・全般 / 構成:Windows10
・トリガー / 特定ユーザーのログオン時
・操作 / プログラムの開始 プログラムは「C:\Windows\System32\OpenSSH\ssh.exe」引数の追加で「-p 22 -i “C:\Users\???\.ssh\id_ecdsa” user@host -N -L 5901:192.168.0.206:5900」
これでログインをきっかけに UI無しでトンネルが掘られる。
*1 ポートを見れば分かる通り、トンネルを通じての VNCアクセス