Skip to content

site-u2023/openwrt-connect

Repository files navigation

OpenWrt Connect

🌐 日本語 | English

概要

WindowsからOpenWrtデバイスに簡単SSH接続し、カスタムスクリプトを実行できるツール。

特徴

  • ルーター自動検出:ローカルネットワーク内のOpenWrtルーターを自動検出
  • 鍵認証自動設定:SSH鍵ペアを自動で生成・設定
  • カスタマイズ性:設定ファイルで独自コマンドを定義可能
  • SSHパッケージ自動判別:DropbearとOpenSSHを自動で判別
  • 汎用設計:フォーク・カスタマイズを前提とした柔軟な設計

動作環境

  • Windows 10 / 11 (64bit)
  • OpenWrt 21.02+ (Dropbear / OpenSSH 対応)

インストール

  1. Releasesからopenwrt-connect.msiをダウンロード
  2. インストーラーを実行
  3. スタートメニューから「OpenWrt Connect」を起動

使い方

基本的なSSH接続

  1. ツールを起動
  2. 自動検出したOpenWrtデバイスのIPアドレスを確認(変更する場合は手動入力)
  3. 初回のみrootパスワードを入力(パスワード未設定の場合は空エンター)
  4. SSH鍵を自動設定
  5. 次回以降はパスワード不要で接続

IPアドレス自動検出の仕組み

Windowsルーティングテーブルからデフォルトゲートウェイを取得

route print 0.0.0.0

フォールバック:192.168.1.1

SSH鍵認証の仕組み

Windows側

鍵の生成

ssh-keygen -t rsa -f "%USERPROFILE%\.ssh\owrt-connect_<IP>_rsa"

生成される鍵ファイル

%USERPROFILE%\.ssh\owrt-connect__rsa
%USERPROFILE%\.ssh\owrt-connect__rsa.pub

鍵の転送

type "%USERPROFILE%\.ssh\owrt-connect_<IP>_rsa.pub" | ssh root@<IP> "cat >> /etc/dropbear/authorized_keys"

公開鍵の転送とSSH接続を1コマンドで完結

OpenWrt側

配置される鍵ファイル

# Dropbear
/etc/dropbear/authorized_keys
# OpenSSH
/root/.ssh/authorized_keys

カスタムコマンドの追加

openwrt-connect.confを編集して、独自のコマンドを定義可能

例: カスタムスクリプトの実行

[command.mysetup]
label = My Custom Setup
icon = mysetup.ico
url = https://example.com/my-script.sh
dir = /tmp/mysetup
bin = /usr/bin/mysetup

この設定により:

  1. openwrt-connect.exe mysetupで実行
  2. OpenWrtデバイスがhttps://example.com/my-script.shをダウンロード
  3. /tmp/mysetupに展開して実行
  4. スクリプトを/usr/bin/mysetupに永続化

例: SSHのみ(インタラクティブモード)

[command.terminal]
label = Terminal
icon = terminal.ico

urlが未指定の場合、対話型SSHセッションを開きます。

設定ファイル

openwrt-connect.conf

セクション 説明
[general] アプリ名、デフォルトIP、SSHユーザー、鍵プレフィックス
[command.<名前>] コマンド定義(複数定義可能)

コマンド定義のフィールド

フィールド 説明 必須
label 表示名
icon アイコンファイル名
url リモートスクリプトURL
dir デバイス上の一時ディレクトリ
bin デバイス上の永続化パス

セキュリティ

このツールが行うこと

  • ローカルネットワーク内のOpenWrtデバイスを検出(ルーティングテーブル参照)
  • SSH鍵ペアの生成(ユーザーの.sshフォルダ内)
  • 公開鍵をデバイスに送信(初回のみパスワード認証経由)
  • 以降、鍵認証でコマンド実行

このツールが行わないこと

  • インターネット経由での情報送信
  • ユーザーデータの収集
  • 外部サーバーへの通信(EXE自体は通信しません)

スクリプト実行について

urlフィールドで指定したスクリプトは、OpenWrtデバイス側wgetでダウンロードして実行します。EXE自体は外部通信を行いません。

ライセンス

MIT License

サポート

IssueやPull Requestを歓迎します。

リンク

About

Windows SSH tool for OpenWrt routers with automatic gateway detection and key-based authentication

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors