RaspberryPiとのSSH接続が確立しない時の対処
FDX68の運用にあたって、RaspbwrryPiをSSH接続していましたが、しばらくしたら接続が不安定になり、最終的に全く接続できなくなってしまいました。
幸いなことに現在は接続が確立していますが、結局、原因が特定出来たのか判然としない状況でもあることから、復旧までに試したことなどを残しておきます。
ちなみに、最終的には無線ルーターを交換するという手段をとりました。原因が無線ルーターに因るものだったかわかりませんが、とりあえずそれで問題は解決しました。
▢Wi-Fi接続ができているか
▢WindowsPC(クライアント)とRaspberryPi(サーバ)の接続が確立しない
・解決法1 ルーターを再起動する
・解決法2 Wi-Fiプロパティの設定を見直す
・解決法3 接続先の指定を"IPアドレス"から"HOST名"にしてみる
Wi-Fi接続ができているか
当然ながら、WindowsPC(クライアント)とRaspberryPi(サーバ)がきちんと同じWi-Fiネット―ワークに接続されている必要があります。
私の場合、普段は有線でインターネットと接続しており、RaspberryPiとの接続が必要になった時だけ無線で専用のネットワークへ接続していたため、ターミナルソフトの接続が失敗した段階でネットワークに接続し忘れているのに気付くということが、割と頻繁にありました。
WindowsPC(クライアント)とRaspberryPi(サーバ)が、それぞれ同じネットワークに接続しているか確認してみましょう。
うっかりネットワークへの接続を忘れていた場合は、これで問題解決です。
WindowsPC(クライアント)とRaspberryPi(サーバ)の接続が確立しない。
症状としては、WindowsPC(クライアント)とRaspberryPi(サーバ)は同一のネットワークに接続しているが、端末間の接続が確立しないというものです。
この時の構成は、クライアントが"Windows 10 Home"で、サーバが"Raspbian 10 buster"、ネットワークは、無線ルーターを介してWi-Fi接続するというものでした。
なお、以下の部分は確認済みの状況です。
・WindowsPCもRaspberryPiもネットに接続している
… それぞれの機器からブラウザを起動し、インターネットが使用できる。
・WindowsPCもRaspberryPiも同じネットワークにいる
… 接続先として同じネットワークを選択している。
・RaspberryPiのsshは有効
… RaspberryPiの設定画面から確認している。
基本的に、この環境で問題なく運用できるという認識でおりましたが、実際に接続は確立していません。webをさまよった挙句、問題解決のために試してみた幾つかの方法を以下に残します。
なお、前記の通り最終的な手段とは異なりますが、いずれも状況の改善が見られた方法になります。
解決法1 ルーターを再起動する
とにかく色々な設定を見直す前に、まず最初にルーターを再起動してみました。
今回のような端末間の接続の問題に限らず、インターネット接続が不安定になった時によくとられる方法です。
ルーターのアダプタをコンセントから外し、数分待ってから改めでアダプタをコンセントに差すだけです。単純な作業ですが、驚くほど効果があります。
端末間の接続ができるか確認してみて下さい。問題なければOKです。
私の場合、一旦は解決しましたが、しばらくしたらまた元の状態に戻ってしまいました。
解決法2 Wi-Fiプロパティの設定を見直す
次に行ったのが、Wi-Fiプロパティの設定見直しです。
今回、無線ルーターを介して端末間の接続を行っていますが、Windowsやセキュリティソフト、無線ルーターには、端末間の接続を遮断するような保護機能が実装されています。これは公衆Wi-Fi等の環境下において、端末同士が接続されてしまうことを避けるためのもので、この保護機能が働いてしまうと同じネットワーク下にある端末間の接続は確立しません。 pingで端末間の接続状況を確認してみます。
「WindowsPC」から「無線ルーター」へのping → 到達する
「RaspberryPi」から「無線ルーター」へのping → 到達する
「WindowsPC」から「RaspberryPi」へのping → 到達しない
「RaspberryPi」から「WindowsPC」へのping → 到達しない
以上の状況から、無線ルーターと各端末は接続できているものの、無線ルーターを介して端末間の接続は確立していないことが、はっきり確認できました。
そこで、Wi-Fiプロパティの設定からネットワーク接続の共有を許可してみます。
タスクバーの"インターネットアクセスのアイコン"をクリックし、"ネットワークとインターネットの設定"をクリック。
ネットワークとインターネットの設定画面が開いたら、"アダプターのオプションを変更する"をクリック。
ネットワーク接続画面が開いたら、"Wi-Fiのアイコン"を左クリックし、メニューが開いたら"プロパティ"をクリック。
Wi-Fiのプロパティが開いたら、共有のタブを選択、"インターネットの接続の共有"内のチェックボックスにチェックを入れ、"OK"をクリック。設定画面を閉じる。
これでWindowsのネットワーク共有の設定は終了です。
端末間の接続できるか確認してみて下さい。問題なければOKです。
私の場合、一旦は解決しましたが、しばらくしたらまた元の状態に戻ってしまいました。
解決法3 接続先の指定を"IPアドレス"から"HOST名"にしてみる。
これまでの説明等では、RaspberryPiとの接続にあたり、接続先として"IPアドレス"を用いてきましたが、接続先の指定には"IPアドレス"の代わりに"HOST名"を用いることもできます。乱暴な説明ですが、"IPアドレス"が宛先だとすると、"HOST名"は宛名にあたります。実生活の住所(宛先)と名前(宛名)のような関係であると考えるとイメージしやすいかも知れません。
接続先の指定を宛名(HOST名)にすることで、宛先(IPアドレス)が変化してしまっても接続を確立できるようになります。使用するルーターや、その設定にもよりますが、環境の良いインターネットプロトコル(IP)を自動的に選択するような機能が実装されていたりもしますので、変化してしまう恐れのある宛先(IPアドレス)よりも、変化する恐れのない宛名(HOST名)の方が問題が少ないのかもしれません。
まずWindowsPCからPaspberryPiへの接続状況の確認をしてみます。
(例)
ping raspberrypi.local(HOST名) → 到達する
ping 192.168.0.010(IPアドレス) → 到達しない
狙い通り"HOST名"を指定した場合では接続が確立します。
これまでインターネットプロトコル(IP)については、IPv4の使用を前提に設定してきましたが、実際に選択、使用されたのはIPv6でした。
接続が確立してくれればよいので、このままいきます。
関連ツールの起動方法等を以下に示します。
「Tera Turm」でSSHクライアント接続
「Tera Turm」を起動し、新しい接続で"ホスト(T)"へ"raspberrypi.local"を入力。"OK"をクリック。
無事起動し、画面が表示されればOKです。
「エクスプローラ」でSambaによるのファイルサーバ接続
何でもよいので適当なフォルダを開き、アドレス欄に"¥¥raspberrypi.local"を入力。
※¥は半角で入力
RaspberryPiのフォルダが開きます。
「VNC Viewer」でリモートデスクトップ接続
「VNC Viewer」を起動、枠内に"raspberrypi.local"を入力。
初回の接続のみ認証画面が開き、"Username:"、"Password:"の入力が求められるので、RaspberryPiのユーザー名とパスワードを入力。
接続が確立し、リモートデスクトップ画面が表示される。
これで接続先の指定を"IPアドレス"から"HOST名"にする手順の説明は終了です。
関連ツールの起動方法も示しましたが、無事起動できていればOKです。
私の場合、やはり一旦は解決しましたが、しばらくしたらまた元の状態に戻ってしまいました。
結局、我が家の場合、RaspberryPiとの接続にとどまらず、PCやTV、タブレットなど、あらゆる機器のインターネット接続が不安定になっていたことから、無線ルーターを買い替えることにしました。入れ替え前の無線ルーターは8年前に購入したものだったので寿命だったのかもしれません。
結局、明確な原因究明は出来ませんでしたが、現在は問題なく運用ができています。
0コメント