CentOS7でEthernet経由で接続されたRaspberry PiにSSHで接続する方法は?

CentOS7でEthernet経由で接続されたRaspberry PiにSSHで接続する方法は?

CentOS7を実行しているラップトップでSSHを介してRaspberry Pi 3 Model B V1.2に接続しようとしています。イーサネットケーブルを介して互いに接続しましたが、ラップトップはRaspiを認識しません。そのため、StackExchangeで同様の質問でユーザーが提供してから、コマンドを実行してみました。

$cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device

また、StackExchangeの検索中に見つかったコマンドを使用してnmapでスキャンしようとしました。

$nmap 192.168.1.1-20
Starting Nmap 7.70 ( https://nmap.org ) at XXXX-XX-XX XX:XX XXX
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap done: 20 IP addresses (0 hosts up) scanned in 0.04 seconds

制限要因:

  • HDMI入力が可能な外部モニターはありません。
  • ルータがありません。

編集:これまでに2つのことを試しました。

  • ユーザーが答えのいずれかで指示したように、私のRaspiとEthernetポートにIPアドレスを手動で割り当ててみました。

    $ssh 192.168.1.10
    ssh: connect to host 192.168.1.10 port 22: Connection refused

  • 他のユーザーが答えで述べたように、ラップトップにDHCPサーバーをインストールしてみました。

    systemctl start dhcpd
    Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and "journalctl -xe" for details.

答え1

あるいは、Piを携帯電話に接続し、USB経由で接続することもできます。私はこれをします。

WindowsでAndroidを使用する:

  1. adb、ドライバ、nmap、scrcpyをダウンロード
  2. USBケーブルでAndroidデバイスをPCに接続します。
  3. USBデバッグを有効にする(必要に応じて最初に開発者オプションを有効にする)
  4. コマンドプロンプトを開く
  5. Android画面に入力adb devicesしてポップアップを押してRSAキーを受け入れます。
  6. タイプadb tcpip 5555。これにより、TCP / IPを介してAndroidに接続できます。
  7. AndroidがWi-Fiに接続されていることを確認してください。または、PCのWi-Fiカードを使用してアクセスポイントを作成し、Android Wi-Fiコントロールを介して接続します。
  8. コマンドプロンプトで、ipconfigAPのIPアドレスを入力して検索します。
  9. 今すぐ入力すると、AndroidのIPが表示されます。nmap (your IP)/24 -p 5555 -open
  10. タイプadb connect (Android IP) 5555
  11. タイプscrcpy。これで、PCでAndroid画面を見ることができます。また、キーボードとマウスを使用してAndroidを制御することもできます。これが100%必要だとは言えませんが、私は視覚的にこのようなことをするのが好きです。
  12. ターミナルエミュレータを開くか、別のコマンドプロンプトを開き、次のように入力します。adb shell
  13. 2つの方法のいずれか(scrcpyを介したエミュレータまたはadbを介したシェル)の種類ifconfig
  14. AndroidのIPを見つけて見つけるまで、各IPでsshまたはnetcatを試みるスクリプトを書くを行うには)デバイスがIPアドレスを見つける必要がある理由です)
  15. そしてあなたはつながりました!

あるいは、adbがオプションではないと仮定すると、Androidにsshサーバー、termux、VNCサーバー、またはsshサーバーをインストールし、そのようにAndroidのUSBテザリングサブネットにアクセスできます。

これを望まない場合は、Wiresharkまたはtcpdumpを使用してPiに割り当てられたIPがあるかどうかを確認できます。 eth0がイーサネットカードであると仮定し、イーサネットカード()からパケットをダンプするだけですsudo tcpdump -i eth0。パケットにIPを含むエントリがない場合は、DHCPを使用してPiにIPを割り当てる必要があります。本質的に、これが私がadbメソッドを使用することをお勧めする理由です。これは、USBテザリングを使用するとき、Androidに接続されているすべてのデバイスにIPを割り当てるDHCPサーバーがあるためです。試してみるもう1つの方法は、Pi用のUSB WiFiおよび/またはBluetoothカードを購入することです。また、通常、Goodwillストアで2〜10ドルのルーターを見つけることができ、時間を節約できます。

注:正直なところ、古いもの、何が変わったのか、いつ/これがまだ適用されるのかはわかりません。しかし、過去には「クロスオーバーケーブル」タイプのイーサネットケーブルを使用して直接接続する必要がありました。 2台のコンピューター。クロスオーバーケーブルは、2本のワイヤがクロスオーバーケーブルの異なる位置にあり、ルータが不要な点で異なります。これは問題かもしれませんが、これが今日のユニークな状況にのみ当てはまると思うので疑います(しかし、前述のように、そのような状況が何で一般化するのかはわかりません)。

とにかく、これが誰かに役立つことを願っています(たとえ数年遅れていますが)。

答え2

存在しないものを探していると思います。あなたのPIにはIPアドレスがないかもしれません。

最近では、Raspberry PIの内部WIFIを接続して検索するように設定することが実際に簡単になる可能性があります。直接ケーブルを使用してこれを行うには、次の点を考慮する必要があります。

最初の問題はケーブルです。以前は、PCからPCへの有線接続でEthernetデバイスが検出されないという問題がありました。クロスオーバーケーブル「これを達成するには、スイッチ(およびルーター)が逆方向に接続されています。つまり、スイッチまたはルーターとの交差は必要ありません。最新のPCは通常これを自動的に検出できますが、保証されません。

第二に、ルータがなければ不可能です。動的ホスト構成プロトコルサーバーはIPアドレスを割り当てます。私はWindowsがIPのみを選択すると信じていますが、LinuxとあなたのPIはそれほど信じていません。

幸い、ラップトップとPIにIPアドレスを静的に割り当てることができます。おそらくパイで最も簡単な方法は、次を編集することです/etc/network/interfaces

auto eth0
iface eth0 inet static
    address 10.0.0.10
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255

セントースはよくわかりませんが…このリンクは提案します... /etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE=enp3s0
ONBOOT=yes
IPADDR=10.0.0.20
NETMASK=255.255.255.0

CentOSでLANデバイス名を確認することを忘れないでください。コマンドラインに入力してこれを行うことができますip address。これにより、次のような複数のデバイスが一覧表示されます。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 11:21:07:02:2f:10 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 83996sec preferred_lft 83996sec

上記の私のネットワークデバイス名はですenp0s3

答え3

CentOS7を実行しているラップトップでSSHを介してRaspberry Pi 3 Model B V1.2に接続しようとしています。イーサネットケーブルで互いに接続しました。しかし、ラップトップはRaspiを認識しません...ラップトップからSSH経由でRaspiに接続する方法を提案してください

だからSSHは規約。これはTCP / IPを使用してイーサネット接続を介して発生する通信方法です。つまり、Rasb_Piが正しくネットワークに接続されていないようです。これが主な問題です。

私のアドバイス:

  1. Rasbery piにはモニターがないので考える事前設定されており、DHCPを使用しています。問題ありません。これは、ネットワークケーブルが接続されている場合は、自分でIPアドレスを取得するためにDHCPサーバーを見つけることを意味します。
  2. DHCPサーバーが必要な問題を解決するには、何かを接続できますルーター(家庭用ルーターはインターネットサービスプロバイダによって提供されます。)DHCPを提供します...
  3. または、ラップトップとrasb_piが直接接続されている場合(完全にOK)、ラップトップのCentOSでソフトウェアを介してDHCPサーバーを設定する必要があります。これにより、検索時にrasb_piにIPアドレスが提供されます。 。ネットワークケーブルが接続されています。

また、CentosのWiresharkなどのソフトウェアを使用して、rasb_piがラップトップに接続されている間にネットワークをスキャンし、dhcpを介してIPアドレスを取得できなかった場合、rasb_piが接続されている169.254.xx IPアドレスを推測することもできます。

パイのIPアドレスを知っている場合にのみSSHで接続できます。私があなたに何かをメールで送ろうとしているように、最初にあなたの住所を知らないとそうすることはできません。

答え4

IPアドレスをRaspPIに自動的に転送するには、CentOSでdhcpサーバーを設定して実行する必要があります。その後にケーブルを接続するスイッチがない場合は、イーサネットクロスオーバーケーブルを使用してCentOSイーサネットrj45ポートをRaspPIのRJ45ポートに接続する必要があります。したがって、RaspPIにはIPアドレスがあり、CentOSはpingを実行してSSHに接続できます(ユーザー/パスワードを知っている場合)。

関連情報