Teratermでダイナミックポート転送(SOCKS)を行うマクロ(.ttl)を記述してみた
当サイトではアフィリエイト広告を利用しています
私は以前より、windowsからSSHを行うターミナルにTeraTermを利用しています。
しかし、このTeraTermにはダイナミックポート転送ができないという問題がありました。
そのため、ダイナミックポート転送が必要な時にはPuttyを使っていたのですが、いつの間にかアップデートで可能となっていることに気が付きました。
本記事では、TeraTermのマクロ(.ttl)ファイルを用いて、このダイナミックポート転送を行う方法をまとめます。
TeraTermによるダイナミックポート転送(SOCKS)
バージョン4.96より、TeraTermでもダイナミックポート転送が可能となったようです。
手動で設定するのであれば、ポート転送の項目より設定が可能となっていました。
マクロファイル(.ttl)による記述
次のTeraTermマクロファイルでは、公開鍵認証を用いて、指定のサーバーへsshログインを行うとともに、ダイナミックポート転送に1080番ポートを指定しています。
また、セキュリティの関係でパスワードは記述せずに手動で入力するようになっています。
; ssh login macro of TeraTerm with SOCKS
; File: sshlogin_socks.ttl
; Description: login with SSH2 and SOCKS (ver4.96>)
; Update: 2018/09/14
; Author: ksk
; settings
USER_NAME = 'xxx'
HOST_NAME = 'xxx.xxx.xxx.xxx'
KEY_FILE = 'xxx.ppk'
PORT = 'xxxx'
;-----------------------------------------------
; get macro directory
MACRO_DIR = ''
KEY_PATH = ''
getdir MACRO_DIR
strconcat KEY_PATH MACRO_DIR
strconcat KEY_PATH '\'
strconcat KEY_PATH KEY_FILE
msg = HOST_NAME
strconcat msg ':'
strconcat msg PORT
strconcat msg ' /ssh /2 /auth=publickey /ask4passwd /user='
strconcat msg USER_NAME
strconcat msg ' /keyfile='
strconcat msg KEY_PATH
strconcat msg ' /ssh-Dlocalhost:1080'
connect msg
end
結果と無視できそうな(?)エラー
上記の設定でsshログインとSOCKSによるアクセスが可能となりました。
ただ、私の環境ではssh2_msg_channel_open_failure open failed
のエラーダイアログが頻繁に表示されるという問題が発生しました。
軽く調べはしましたが、この設定はsshdのサーバー側での設定で対処するようで、対象サーバー管理者に問い合わせてみないことには詳細は不明です。
とはいえ、エラーダイアログを無視してもSOCKS接続はできていたので、とりあえず暫定的なアクセスは可能です。
まとめ
- TeraTermのアップデートによりダイナミックポート転送が可能に
- マクロファイルで転送・ログイン設定を記述した
- エラーが表示されるが、無視してもSOCKSの転送はできた