UbuntuがLAN経由でRaspberry Piにアクセスできないのはなぜですか?


9

さて、最近Raspberry Piを入手し、Wi-Fiに接続しました。SSHを有効にして、Hiawathaをインストールしました。当時、Puppy Linuxを実行していたデスクトップから問題なくアクセスできました。

また、Windows(Win XP ProのPuTTY)で起動したときにも問題なくアクセスでき、ネットブックもPuTTY経由でアクセスできました。(Win 7スターター)

しかし、Ubuntuを起動すると、SSH、HTTP、HTTPSのすべての接続が拒否されました。それがUbuntuであり、Ubuntuのみで接続の問題が発生していたことを確認するために、正常に接続されたPuppy Linuxと、正常に接続されたWindowsを再起動しました。ネットブックは3つのサービスすべてに問題なく接続できました。接続が拒否されたと言ったのはちょうどUbuntuでした。

何が問題なのか知りたい-RPiの再起動、コンピューターの再起動、ワイヤレスルーターの再起動など、基本的なトラブルシューティングはすべて実行しました。RaspberryPiではファイアウォールが有効になっておらず、ルーターは接続されているすべてのデバイスを提供しています相互に無制限のLANアクセス。私は広範囲にわたるテストを行いましたが、Ubuntuは疑いの余地なく、接続を望まない唯一のものであることが証明されています。

更新:外部IP経由でのアクセスをテストしたところ、すべてがUbuntuでスムーズに実行されました!私の他のOSのことしかし、Ubuntuはまだ地元何からパイにアクセスすることはできません、と私はちょうど再確認した。Ubuntuが(他のOSとは異なり)ローカルで接続するのに問題があるのは奇妙だと思いますが、外部IPを介してPiに正常にアクセスしています。

更新2:ファイアウォールを無効にすると、デバイスにアクセスできますが、パスワードは毎回正しくないと報告します。シングル時間。私は、ドラッグ&ドロップSSHログイン時のプロンプトパスワードにそれを、Geditの中にそれを入力して試してみた、そしてアクセスする際には許可pi@jamestheawesomedude.cu.ccが、アクセスしていないときpi@192.168.2.128。これは信じられないほどイライラします。


2
ログを見せてください。ssh -vvv user@hostクライアント側、sudo tail -f /var/log/auth.logサーバー側。おそらく、SSHサーバー構成の詳細度を上げることにも意味があります。
Andrejs Cainikovs 2013

:何も面白いが、本当にあります、単にメッセージ「接続が拒否されました」pastebin.com/Nc1W8Mja
JamesTheAwesomeDude

3
参考:Raspberryスタックもありますraspberrypi.stackexchange.com
Meer Borg

3
@MeerBorg 私はすでにそこいるユーザーであり、実際にそこで質問することを検討しましたが、接続に問題があるのはUbuntuだけです。どの方法でも接続できなかった場合は、Pi自体に問題があると思いますが、Ubuntuは奇妙なものなので、このサイトで質問することにしました。
JamesTheAwesomeDude 2013

@JamesTheAwesomeDude、プレーンな接続が拒否されるよりも説明的なものがあるはずです。このメッセージは結果ですが、エラーメッセージも表示されるはずです。
Andrejs Cainikovs 2013

回答:


1

したがってufw、Ubuntuマシンでデフォルト設定を有効にするまで、接続は常に報告されていましたConnection refusedufwクライアントでを無効にした後、接続は確立されますが、パスワードは常に拒否されますか?

その場合、あなたの問題は、192.168.2.128IPがクライアントのUbuntuマシンにルーティングされ、実際にはsshUbuntuマシンで実行されているサーバーに接続していることだと思います。これは説明します:

  • インターネットから接続できる理由。

  • Ubuntuクライアントでファイアウォールがオンになっているときに接続が拒否された理由。

  • クライアントファイアウォールをオフにしても接続が拒否されなくなった理由。

  • 接続が確立されたのに認証が失敗する理由。

このケースをトラブルシューティングするには:

  • ssh -v pi@192.168.2.128ローカル接続とインターネット接続の両方でサーバーのホストキーを確認してください。同じキーを報告しますか?

  • または、ローカルから接続していて、別の端末からパスワードを入力するよう求められsudo netstat -tupanたら、sshdUbuntuでへの接続が確立されているかどうかを確認します。

このケースはすべてを説明しますが、これはあなたの問題であると私は疑うほど奇妙です。


#ufw <port>で例外を追加できます。#ssh -v user @ addressを使用して詳細な出力を取得します。これにより、接続できない理由の詳細がわかります。「接続が拒否されました」とは、ファイアウォールクライアントまたはサーバーのデフォルトポートが間違っていることを意味し、接続がブロックされています。
j0h 2014年

1
@ j0hこのコメントを質問へのコメントとして投稿したいと思います。しかしとにかく:コメントでOPはすでにssh -vvv出力を提供しています。彼はまた、Piでファイアウォールが有効になっていないため、クライアントにufwがあり、無効にしたと質問しましたが、それでもログインできません。ポートが問題になることもありません。他のマシンから同じポートに接続できます。
鷹匠14年

1

ubuntuマシンが予期したものとは異なるネットワークIPアドレスを取得している可能性があります。以下を試してください:

  • raspiで、そのIPアドレスを確認します ifconfig | grep 192.168
  • ubuntuマシンで、IPアドレスを確認します ifconfig | grep 192.168

ローカルネットワークで相互に通信できるようにするには、両方が同じサブネットを使用している必要があります。IPアドレスの3番目のセクションを調べて、それらが同じかどうかを確認してください。あなたの場合、どちらも192.168.2。*サブネット上にあるはずです。

それらが実際に異なる IPアドレスを持っていることも確認してください。これは明白に思えるかもしれませんが、一方がDHCPを使用していて、もう一方が静的に設定されている場合に発生する可能性があります。

すべてがチェックアウトされている場合は、次のコマンドを実行して、パケットが送信されるはずの場所を確認します。

route -n

ラズベリーpiに適用される宛先サブネットの出力を確認します。実際には3行しかありません。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

あなたがより多くの列を持っているか、物事が奇妙なスポットになるつもりなら、それが答えです。

私の推測では、ssh接続が最終的にはラズベリーpi上のSSHサーバーとは異なるSSHサーバーに到達するため、ubuntuファイアウォールを変更すると影響を受け、ログインが機能しないのです。


0

PasteBinの内容によると、「接続拒否」は、そのIPアドレスにあるものからTCPリセットを取得していることを示しています。

健全性チェック:トラブルシューティング中にufwを無効にします。

デスクトップファイアウォールを無効にすると、デスクトップからPiにpingできますか?Piからデスクトップにpingできますか?

双方向でpingを試行した後、両方のマシンで「arp -n」の出力を確認します。彼らはお互いのMAC(イーサネットハードウェア)アドレスを参照していますか、それともトラフィックをリダイレクト/インターセプトしているものですか?

双方向でpingを実行でき、「arp -n」が適切なMACアドレスが使用されていることを示している場合(反対のマシンで「ifconfig」を確認)、次のステップはPiの/var/log/auth.logを調べることです。接続試行の何が問題かを教えてくれるはずです。

上記の方法で問題が解決しない場合は、Piで次のコマンドの出力を表示してください。

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save
sudo grep ssh /var/log/auth.log | tail -50

そしてあなたのデスクトップ上で:

sudo ifconfig -a
cat /etc/resolv.conf
arp -n
netstat -rn
sudo iptables-save

上記のコメントに貼り付けられたものをいくつか見ましたが、最初にファイアウォールをオフにして全体を把握することが重要です。ファイアウォールをオフにしても機能する場合は、ファイアウォールルールのトラブルシューティングに進むことができます。

また、IPアドレスをターゲットにしている場合でも、SSHはホストキーの検証中にDNSを使用するため、DNS設定は依然として重要です。


0

~/.ssh/known_hostsファイルを削除して、もう一度お試しください。以前に同じIPアドレスsshでアクセス可能なホストがあった場合、無効なフィンガープリントを保持することができます


0

Ubuntu 13.10では、以前に13.04とMint 16で実行できたときに、piにsshできませんでした。

ssh -vvv user@host

私が得た:

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

マシン(piではなく)のMTUを自動ではなく1200に設定するとの提案に出くわしました。私はこれを行い、オフにしました->次に私のwifiで、最初の試行でsshを使用してPIに接続しました。これが誰かを助けることを願っています。


MTUを変更する方法:askubuntu.com/questions/230926/...
jmunsch
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.