1
  1. Я хочу соединить свой ноутбук и другой компьютер (это RaspberryPi 2, но это не очень важно) с помощью перекрестного кабеля.

  2. Тогда я бы хотел SSH с моего ноутбука на другой компьютер.

  3. Наконец, я хочу подключить свой ноутбук к WIFI и убедиться, что через терминал SSH я также смогу использовать WIFI на другом компьютере.

Теперь мне удалось завершить части (1) и (2). При отсутствии WIFI RaspberryPi получает уникальный IP-адрес 169.254.114.180, даже если я перезагружаю обе машины. (?Это называется присвоением локального адреса, если я не ошибаюсь?). Затем я могу использовать этот IP-адрес для SSH в него.

Проблема в том, что вскоре после того, как мой ноутбук подключается к WIFI, Пи получает новый IP-адрес (?Это из-за DHCP?) и соединение SSH потеряно. Это место, где я застреваю, потому что я не знаю, как обнаружить изменение адреса или сделать постоянным локальный адрес ссылки.

Может ли кто-нибудь помочь мне решить часть (3)?

Вы должны предположить, что у меня нет маршрутизатора, также мое устройство RaspberryPi не подключено к внешней мыши, клавиатуре или экрану. Пока что единственный способ управлять и контролировать Pi - это использовать SSH с помощью перекрестного кабеля без внешнего интернета (я не хочу отнимать SD-карту от устройства и работать только с ней). С моего ноутбука я могу работать как на Ubuntu, так и на Windows.

2 ответа2

2

Итак, мне удалось:

  • 1) Соедините RaspberryPi с ноутбуком с помощью перекрестного кабеля.
  • 2) SSH в RaspberryPi и получить виртуальный терминал на моем ноутбуке.
  • 3) Имейте Wifi на виртуальном терминале.
  • 4) У меня есть Wi-Fi на моем ПК, ОС Linux.

Вот инструкции, которые работали для меня:

С ПК перейдите на вкладку сети (в правом верхнем углу), затем нажмите « Редактировать соединения». В Ethernet нажмите « Проводное соединение 1» (или, если на вашем ноутбуке будет вызываться кабельное соединение), затем нажмите « Редактировать ...». Перейдите в настройки IPv4 и установите метод для общего доступа к другим компьютерам.

Теперь вернитесь на вкладку « Сетевые подключения », найдите подключение к Wi-Fi , нажмите « Редактировать», снова перейдите к настройкам IPv4 и убедитесь, что для параметра « Метод» установлено значение « Автоматически» (DHCP).

Затем подключите RaspberryPi и ноутбук кроссовером и загрузите RaspberryPi. Сообщение « Подключено к проводному соединению 1» может ненадолго появиться в правом верхнем углу.

Наконец, откройте терминал, введите

ssh pi@raspberrypi.local

и надеюсь, что терминал запрашивает пароль. Если вы добьетесь успеха здесь, большая часть работы сделана. Введите пароль RaspberryPi (попробуйте raspberry, если вы его не знаете), и вы получите виртуальную оболочку RaspberryPi.

Убедиться, что соединение Wi-Fi установлено, можно в оболочке типа SSH

ping 8.8.8.8

проверить поступающие пакеты. Если это удастся типа

ping [SomeWebsiteName]

проверить, что DNS работает.

Если вам не удалось получить запрос "введите пароль", некоторые из проблем могут быть:

  • Файлы /etc/network/interfaces . Мои файлы следующие.

    В Linux Laptop:

    auto lo
    iface lo inet loopback
    

    На Распбиане:

    # Note some lines might not be required
    
    auto lo
    iface lo inet loopback
    
    auto eth0
    allow-hotplug eth0
    iface eth0 inet manual
    
    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    
    auto wlan1
    allow-hotplug wlan1
    iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    
  • Программа ssh не установлена.

  • pi@raspberrypi.local не определяет IP-адрес Pi.

0

Если ноутбук подключен к сети Wi-Fi и работает как сервер SSH, вы можете предоставить веб-доступ к Rasberry Pi, используя ноутбук в качестве прокси-сервера SOCKS . Вы упомянули, что можете использовать Ubuntu или Windows на ноутбуке. В дистрибутивах Linux, таких как Ubuntu, обычно используется OpenSSH, чтобы система могла функционировать как сервер SSH. Вы можете проверить, работает ли система Ubuntu как SSH-сервер, запустив команду netstat -a и отправив свой вывод в grep , выполнив поиск "ssh". Если он уже работает как SSH-сервер, вы увидите строку или строки, указывающие, что он прослушивает SSH-соединения (порт по умолчанию - 22).

$ netstat -a | grep ssh
tcp        0      0 *:ssh                   *:*                     LISTEN

Если он не работает как SSH-сервер, выполните команду sudo apt-get install openssh-server из командной строки.

Если вместо этого вы используете Microsoft Windows на ноутбуке, существует ряд программ для серверов SSH, которые бесплатны для личного использования. Некоторые из них я использовал следующие:

  • Bitvise Personal Edition
  • Copssh
  • FreeSSHd
  • Сервер PowerShell SSH для Windows
  • SilverSHielD SSH сервер для Windows
  • Если у вас есть ноутбук, работающий в качестве SSH-сервера, вы можете установить SSH-соединение с ноутбука на Rasberry Pi, предполагая, что Raspberry Pi также использует программное обеспечение сервера SSH, а затем установить новое SSH-соединение с Rasbery Pi на ноутбук. для второго подключения ноутбук является SSH-сервером. Но при подключении к ноутбуку укажите, что вы хотите, чтобы ноутбук функционировал как прокси-сервер SOCKS, используя команду SSH, например, ssh -ND n user@server где "n" - номер порта, который вы хотите использовать (порт 1080 - это порт, обычно используемый для соединений прокси-сервера SOCKS) и «user @ server» - это идентификатор пользователя для вашей учетной записи на "сервере", т. е. ноутбуке в вашем случае, которому разрешено входить на сервер через SSH (пример). Вы можете заменить IP-адрес ноутбука на server , например, jsmith@192.168.3.1 , если ваш идентификатор пользователя на ноутбуке - jsmith, а IP-адрес ноутбука - 192.168.3.1.

    Затем вы можете просматривать веб-страницы с Rasberry Pi, используя подключение ноутбука к Интернету, настроив любой браузер на Rasberry Pi на использование прокси-сервера SOCKS. Точные шаги, которые вы предпримете, будут зависеть от используемого вами браузера, но большинство браузеров позволяют вам указать прокси-сервер, который будет использоваться в качестве промежуточного сервера между системой и Интернетом, просто убедитесь, что вы выбрали опцию SOCKS proxy.

    Это будет заботиться только о соединениях HTTP/HTTPS. Но вы также можете пересылать другие типы TCP- трафика через ноутбук. Например, предположим, вам нужно печатать с Rasberry Pi на принтер, доступный через ноутбук через порт 9100. Вы можете выполнить приведенную ниже команду из Rasberry Pi, предполагая, что 192.168.3.5 - это адрес принтера, 192.168.3.1 - это адрес вашего ноутбука, а jsmith - ваш идентификатор пользователя на ноутбуке, и эта учетная запись на ноутбуке имеет разрешение для входа в ноутбук. через SSH:

    ssh -L 9100:10.0.0.5:9100 jsmith@192.168.3.1

    Команда указывает, что локальный прослушивающий порт 9100 должен быть создан на ноутбуке, когда вы входите в ноутбук с подключением SSH, и этот порт должен быть перенаправлен на порт 9100 на принтере, который в этом примере имеет IP-адрес 10,0. 0,5 (пример). Вы можете объединить эту команду с возможностью установить прокси-сервер SOCKS, т. ssh -L 9100:10.0.0.5:9100 -ND 1080 jsmith@192.168.3.1 . Вы можете добавить любые дополнительные порты, которые вам нужно перенаправить, с помощью дополнительных опций -L . Затем, если вам нужно было печатать с Rasberry Pi на принтер через порт 9100 на принтере, вы можете указать 192.168.3.1 в качестве IP-адреса принтера при настройке Rasberry Pi для связи с pritner, даже если фактический адрес принтера равен 10.0.0.5. Пока ноутбук может обмениваться данными с принтером на 10.0.0.5, он может перенаправлять соединения через порт 9100, сделанные с ноутбуком Rasberry Pi, на IP-адрес принтера.

    В качестве альтернативы, вместо того, чтобы настроить ноутбук для работы в качестве прокси-сервера SOCKS и перенаправлять соединения на порты внешних систем, вы можете настроить ноутбук для работы в качестве маршрутизатора, или шлюза. В Интернете доступно множество учебных пособий о том, как настроить систему Ubuntu в качестве маршрутизатора, а также в качестве DHCP- сервера, в случае, если вы запускаете Ubuntu на ноутбуке и хотите предоставить IP-адрес Rasberry Pi по кроссоверному кабелю, например Ubuntu в качестве межсетевого экрана / шлюза маршрутизатора. Вы также можете настроить систему Windows для работы в качестве маршрутизатора / шлюза.

    Всё ещё ищете ответ? Посмотрите другие вопросы с метками .