前回、小米 WR30U を紹介しました。今年の百元価格帯で最もコストパフォーマンスの良いルーターで、MT7981B デュアルコア 1.3Ghz の CPU、128M のフラッシュメモリ、256M の RAM を搭載しています。また、信号も非常に良く、ファームウェアを変更せずに Mesh の AP としても非常に使いやすいです。今日は、openwrt コミュニティが分解不要で SSH をアンロックする方法を共有しているのを見たので、チュートリアルを書いて共有します。
始める前に、まず感謝を述べます:
- openwrt コミュニティ:lee320 提供の SSH アンロック方法
- 恩山フォーラム: 不死uboot
- 恩山フォーラム:lean 提供のファームウェア
準備作業#
- 小米 WR30U ルーター
- Windows コンピュータ(ネットワークポートと無線 Wi-Fi が必要)
- Python をインストール(Windows ストアからインストールすることをお勧めします、手動で環境変数を設定する必要がありません)
- 必要なファイルをダウンロード(uboot、python スクリプト、openwrt ファームウェア、winSCP)
SSH アンロック#
wr30u の設定準備#
wr30u には最初はネットワークケーブルを接続する必要はありません。コンピュータがネットワークがないと表示しても問題ありません。192.168.31.1 の管理画面を開き、一般設定 - インターネット設定でそれぞれ設定します:
- インターネット設定 DHCP、自動 DNS 設定
- 起動とスマートゲートウェイの無線設定を同期(再起動します)
- WAN ポートを 1 に固定(再起動します)
コンピュータの設定準備#
コンピュータを家にある正常にインターネットに接続できる WiFi(アンロックされた wr30u の WiFi ではない)に接続し、その後、コンピュータをネットワークケーブルで wr30u に接続します。
コントロールパネル - ネットワークとインターネット - ネットワークと共有センター - WLAN を選択 - プロパティ - 共有 - 最初の許可にチェックを入れ - 確認します。この時点で wr30u はネットワークに接続できるはずで、インジケーターランプも黄色から青色に変わります。
スクリプトを実行してアンロック#
システムに付属のターミナルを開き、最初にコマンドを入力して pycryptodome をインストールします。
次にスクリプトを実行し、python を入力して解凍した server_emulator.py ファイルをターミナルにドラッグ&ドロップすれば、エンターを押して実行します。
python server_emulator.py
実行には約1分待つ必要があり、Device information と finish が表示されれば完了です。これで wr30 は SSH が開かれ、デフォルトのユーザー名は root、パスワードは admin です。
SSH 接続を試みる#
今、wr30u とコンピュータ間のネットワークケーブルを外し、コンピュータを wr30u の WiFi に接続します。wr30u を電源オフで再起動しないでください。そうしないと、現在の SSH 接続が切断され、スクリプトを再実行する必要があります。
ターミナルで wr30u への SSH 接続を試みます。
「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」というメッセージが表示された場合は、以前に他の小米ルーターに接続した記録です。これを実行すれば大丈夫です。
パスワードを入力しても表示されませんが、入力後にエンターを押して実行すれば、馴染みのある ARE U OK が表示されます。SSH を固定する必要がある場合は、以下のコマンドを実行してください(wr30u はインターネットに接続する必要があります)。そうしないと、再起動後に SSH が切断されます。openwrt を直接フラッシュする場合は、これをスキップできます。