さて、最近Raspberry Piを手に入れ、Wi-Fiに接続しました。SSHを有効にしてHiawathaをインストールしました。その時点でPuppy Linuxを実行していたデスクトップから問題なくアクセスできました。
また、Windows(PuTTY on Win XP Pro)を起動したときに問題なくアクセスでき、ネットブックもPuTTY経由でアクセスできました。 (Win 7スターター)
ただし、Ubuntuを起動すると、すべてのSSH、HTTP、およびHTTPS接続が拒否されました。接続の問題が発生していたのがUbuntuであり、Ubuntuだけであることを確認するために、Puppy Linuxで再起動し(正常に接続され、Windowsで正常に接続されました)。ネットブックは、3つのサービスすべてに問題なく接続できました。接続が拒否されたと言ったのはUbuntuだけでした。
何が問題なのかを知りたい-RPiの再起動、コンピューターの再起動、ワイヤレスルーターの再起動など、すべての基本的なトラブルシューティングを既に行っています。RaspberryPiにはファイアウォールが有効になっておらず、ルーターはLAN相互への無制限のアクセス。私は広範なテストを行いましたが、Ubuntuは疑いの影を越えて、接続を望まない唯一のものであることが証明されています。
更新:外部IP経由のアクセスをテストしたところ、すべてがUbuntuでスムーズに実行されました!ただし、UbuntuはローカルからはPiにアクセスできないため、他のOScanを再確認しました。 Ubuntuが(他のOSとは異なり)ローカル接続に問題を抱えているのは奇妙だと思いますが、外部IPを介してPiにアクセスするだけで問題ありません。
更新2:ファイアウォールを無効にすると、デバイスにaccessアクセスできますが、パスワードが間違っていると報告しますevery。 シングル。 時間。 Geditに入力してから、SSHログイン中にパスワードプロンプトにドラッグアンドドロップしてみました。[email protected]
にアクセスするときは許可されますが、[email protected]
にアクセスするときは許可されません。これは信じられないほどイライラします。
したがって、Ubuntuマシンのデフォルト設定でufw
が有効になるまで、接続は常にConnection refused
を報告しました。クライアントでufw
を無効にした後、接続は確立されますが、パスワードは常に拒否されますか?
その場合、あなたの問題は192.168.2.128
ipがクライアントのUbuntuマシンに戻され、実際にUbuntuマシンで実行されているssh
サーバーに接続していることだと思います。これは説明します:
インターネットから接続できる理由。
Ubuntuクライアントでファイアウォールがオンになっているときに接続が拒否された理由。
クライアントファイアウォールをオフにして接続が拒否されなくなった理由。
接続が確立されたのに認証が失敗する理由。
この場合のトラブルシューティング:
ローカル接続とインターネット接続の両方について、ssh -v [email protected]
を使用してサーバーのホストキーを確認します。同じキーを報告しますか?
または、ローカルから接続しているときに、別の端末からパスワードを入力するプロンプトが表示されている場合:Sudo netstat -tupan
およびUbuntuのsshd
への接続が確立されているかどうかを確認します。
このケースはすべてを説明しますが、これはあなたの問題であると疑うほど奇妙です。
あなたのubuntuマシンが予想とは異なるネットワークIPアドレスを取得している可能性は完全にあります。以下を試してください:
ifconfig | grep 192.168
でIPアドレスを確認しますifconfig | grep 192.168
でIPアドレスを確認しますローカルネットワークで互いに通信できるようにするには、両方が同じサブネットを使用している必要があります。IPアドレスの3番目のセクションを見て、そうであるかどうかを確認してください。あなたの場合、両方とも192.168.2。*サブネット上にある必要があります。
実際にdifferent IPアドレスも持っていることを確認してください。これは明白に思えるかもしれませんが、そのうちの1つがDHCPを使用しており、もう1つが静的に設定されている場合に発生する可能性があります。
すべてがチェックアウトされたら、次のコマンドを実行して、パケットの送信先を確認します。
route -n
Raspberry 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接続はRaspberry PiのSSHサーバーとは異なるSSHサーバーに到達しているため、ubuntuファイアウォールを変更すると影響を受け、ログインが機能しません。
Ubuntu 13.10では、以前に13.04とMint 16でできたのに、piにsshできませんでした。
ssh -vvv user@Host
私は得た:
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
私は、(piではなく)MachineのMTUを自動ではなく1200に設定するという提案に出くわしました。私はこれを行い、オフにしてからWiFiで、最初の試行でsshでPIに接続しました。これが誰かを助けることを願っています。
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設定は重要です。
~/.ssh/known_hosts
ファイルを削除して、再試行してください。以前に同じIPアドレスsshでアクセス可能なホストがあった場合、無効なフィンガープリントを保持できます