
SSHは怖くない|WindowsとMacからLN6001-JPへ入る最初の一歩【OpenWrt集中連載033】
SSHの最初の作業は、接続して、状態を読み、exit で終了するだけです。WindowsのPowerShellとMacのターミナルから、初回接続を順に試します。
鍵が変わった警告で止まっている場合は、known_hostsを対象1台だけ直す053へ進んでください。
初期IPとパスワードの説明はLN6001-JPのメーカー提供ファームウェア、CLI例はversion 1.2.0.15を基準にしています。別系統のOpenWrtや変更済みの環境では、認証情報やインターフェース名をその環境に合わせます。

この連載では、Linksys Velop WRT Pro 7(LN6001-JP)を使いながら、家庭・小さなオフィス・店舗でOpenWrtルーターを現実的に使う方法をまとめています。
連載目次: LN6001-JPで始めるOpenWrtルーター実践ガイド
接続前に5つだけ確認する

PCがLN6001-JPのMain側LANまたはWi-Fiへ接続している
ゲストWi-Fiから接続しようとしていない
LN6001-JPの管理IPを把握している
ユーザー名は root
rootパスワードを把握している
LN6001-JPの初期管理IPは 192.168.1.1 です。変更している場合は、現在の管理IPを使います。
初期状態では、ユーザー名は root、初期パスワードは本体底面に記載されたデフォルトWi-Fiパスワードと同じです。すでにLuCIで管理パスワードを変更した場合は、その現在のパスワードを使ってください。
接続先IPが分からない時
LuCIを開いているなら、ブラウザーのアドレス欄にあるIPが接続先候補です。分からない場合は、PCのデフォルトゲートウェイを確認します。

Windows PowerShellでは、次を実行します。
ipconfig
Default Gateway が 192.168.1.1 なら、まずそのIPを使います。
Macのターミナルでは、次を実行します。
route -n get default | grep gateway
ただし、ネットワーク内に別の親ルーターがあるAP Bridge構成では、デフォルトゲートウェイがLN6001-JPとは限りません。その場合は、前の記事で決めたAccess Point IPや親ルーターの接続端末一覧を確認します。
Windowsから接続する
Windows 11では、PowerShellまたはWindows Terminalを開きます。
ssh root@192.168.1.1
管理IPが 192.168.10.1 なら、そのIPへ置き換えます。
ssh root@192.168.10.1
最近のWindows 11にはOpenSSHクライアントが標準で利用できる環境が一般的です。ssh が見つからない場合は、Windowsの「オプション機能」でOpenSSHクライアントが有効か確認してください。
Macから接続する
Macでは、Spotlightから「ターミナル」を開きます。
ssh root@192.168.1.1

初回のfingerprintは何を聞いているのか
初めて接続すると、次のような確認が表示されます。
The authenticity of host '192.168.1.1' can't be established.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
これは、PCが「このSSHサーバーを初めて見るが、記録してよいか」と確認しています。

自分のLAN内にあるLN6001-JPへ、意図したIPで初めて接続していることを確認したうえで、yes と入力します。
知らないIP、外部ネットワーク、意図しないタイミングでこの確認が出た場合は、そのまま進めず接続先を確認してください。
パスワードを打っても何も出ないのは正常
次にパスワードを求められます。
root@192.168.1.1's password:
入力中は、文字も * も表示されません。これは故障ではなく、端末にパスワードの長さを見せないための通常動作です。

落ち着いて入力し、Enterを押します。日本語入力がオンになっていないか、Caps Lockが有効になっていないかも確認してください。
入れたら、まず4つだけ読む
ログインに成功すると、プロンプトが表示されます。最初は設定変更をせず、次の読み取りコマンドだけ試します。

本体とファームウェア情報
ubus call system board
IPv4側WANの状態
ifstatus wan
DHCPで接続中の端末
cat /tmp/dhcp.leases
直近50行のログ
logread | tail -n 50
IPv6を確認したい場合は、次も読み取れます。
ifstatus wan6
ip -6 route show
wanやwan6が見つからない場合は、設定したインターフェース名やAP Bridgeなどの役割をLuCIで確認します。コマンド例と違う表示だけで、故障や初期化の必要があるとは判断しません。公開場所へ貼る場合は、グローバルIP、MACアドレス、SSID、端末名などを必ず伏せます。
終わったらexitで出る
SSHセッションを終える時は、次を実行します。
exit

設定変更は、目的と戻し方が分かってから行います。
接続できない時の見分け方
エラーメッセージは、原因を絞る手掛かりです。

Connection timed out
PCから接続先へ届いていない可能性があります。IP、接続中のSSID、LAN配線、ゲストWi-Fiではないかを確認します。
Connection refused
IPへは届いているものの、22番ポートでSSHを受け付けていない可能性があります。LuCIのSSH Access設定を確認します。
Permission denied
認証に成功していません。パスワード認証では、ユーザー名が root か、現在の管理パスワードを使っているか、日本語入力やCaps Lockが有効ではないかを確認します。鍵認証へ変更した環境では、登録した鍵と許可された認証方式も確認してください。
Host key verification failedが出た時
初期化、機器交換、SSHホスト鍵の再生成などで、同じIPのfingerprintが以前と変わると、PCは接続を止めます。これは安全機能です。
まず、「自分が意図して初期化や機器交換を行った直後か」を確認します。心当たりがない場合は、安易に古い記録を削除しないでください。
意図した変更だと確認できた場合だけ、PC側の古い記録を削除します。
ssh-keygen -R 192.168.1.1
その後、もう一度接続し、新しいfingerprintを確認します。これはPC側の接続履歴を整理する操作で、ルーターの設定やホスト鍵を作り直す操作ではありません。ホスト名・ポートを使う場合と、動画との手順の違いは053で詳しく説明しています。

SSHをインターネットへ直接公開しない
SSHはroot権限の管理入口です。WAN側へ22番ポートを直接公開するのは避けてください。
外出先から管理するなら、先にTailscaleやWireGuardなどのVPNへ接続し、その内側からSSHを使います。

鍵認証は慣れてから
パスワード認証で接続に慣れたら、公開鍵認証へ進めます。

PC側で鍵ペアを作る
公開鍵だけをLN6001-JPへ登録する
新しいSSHセッションで鍵認証をテストする
鍵で確実に入れることを確認する
その後、必要ならパスワード認証を無効化する
秘密鍵はPC側から出しません。チャット、SNS、GitHub、記事のスクリーンショットへ貼らないでください。
鍵認証を確認する前にパスワード認証を無効化すると、SSHから締め出される可能性があります。必ず別セッションで成功を確認してから切り替えます。
次の作業へ進む
管理IPやパスワードの準備がまだならLuCI初期設定052へ。次に読むコマンドを増やすなら読み取り専用CLI025、外出先から接続するならVPNのアクセス設計028を参照してください。