SSH в RPi без підключення до мережі?


36

Чи можливо SSHвходити в RPi без підключення до мережі?

Я можу собі уявити, що ви можете це зробити за допомогою кабелю LAN від комп'ютера до RPi або, можливо, за допомогою кабелю USB.

У мене фактично є доступ до мережі, однак це не дозволяє вхідні з'єднання (навіть з локальних IP-адрес) до будь-яких портів, крім 80 та 443, які я б міг уявити.


3
Просто використовуйте кросоверний кабель, я думаю, що це рішення, яке вам потрібно;). Підключіть усі кабелі UTP-кабелю так: numitechsolutions.com/wp-content/uploads/2012/01/…, потім підключіть їх до ПК та ПК. Дайте їм IP, зроблено;).
Лоранс

Щодо процесу підключення, є чудова стаття: Raspberry Pi Remote Connections - Без мережі! . Це пояснює конфігурацію ноутбука Mac і Windows.
Томаш Зато - Відновити Моніку

1
З сучасними адаптерами Ethernet кросовер більше не потрібен. У вікні Windows просто "поділіться" мережевим підключенням WIFI (відкриті властивості адаптера, обмін) з вашою локальною мережею. RPI отримає IP-адресу звідти. Це надасть вам доступ SSH з вікна Windows до RPI, але не зовнішній доступ.
fcm

Як зауважує fcm, кросоверські кабелі - це здебільшого минуле ; сучасні інтерфейси Ethernet, включаючи інтерфейси pi, фізично перетнуться, коли вони з'єднані між собою.
золотинки

Я просто застряг і з цією проблемою, і тепер я можу це зробити. Тому мені потрібно поділитися своїм рішенням. Ви можете побачити це посилання, topboxbox.blogspot.com/2017/11/…
TopBoxBox

Відповіді:


6

Без маршрутизатора + без екрана + звичайний кабель Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

Спочатку ми повинні включити SSH-сервер на Pi, який за замовчуванням відключений для безпеки.

Якщо у вас вже є оболонка на Pi за допомогою не-SSH-методу, такого як екран + клавіатура або UART (див. Нижче), просто запустіть:

sudo systemctl enable ssh
sudo service sshd start

як пояснено в: SSH не працює зі свіжим встановленням. Це зберігається через черевики.

В іншому випадку, вставте SD - карту ситеми на хості, і створити чарівний порожній файл з ім'ям sshфайл в boot/розділі.

На хостах Ubuntu він встановлюється автоматично, і ви можете робити просто:

sudo touch /media/$USER/boot/ssh

що ви можете підтвердити за допомогою:

lsblk

який містить:

mmcblk0     179:0    0  14.4G  0 disk
├─mmcblk0p1 179:1    0  43.9M  0 part /media/ciro/boot
└─mmcblk0p2 179:2    0  14.4G  0 part /media/ciro/rootfs

Якщо ви не включите демон SSHD на Pi, то з'єднання SSH не вдасться:

ssh: connect to host 10.42.0.160 port 22: Connection refused

коли ми спробуємо це згодом.

Після ввімкнення сервера SSH

Потім завантажте Pi та підключіть кабель Ethernet зі свого ноутбука безпосередньо до Pi:

введіть тут опис зображення

У Ubuntu 17.04, щоб обійти цю помилку, як згадується у цій відповіді , спочатку потрібно:

sudo apt-get install dnsmasq-base

На хості відкрийте менеджер мережі:

nm-connection-editor

І йдіть:

  1. + підписати (Додати нове з'єднання)
  2. Ethernet
  3. Створіть
  4. Налаштування IPv4
  5. Спосіб: Спільний доступ до інших комп'ютерів
  6. Встановіть добре ім’я для цього
  7. Зберегти

введіть тут опис зображення

Знайдіть IP-адресу Pi на хості:

cat /var/lib/misc/dnsmasq.leases

виводить щось на кшталт:

1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69

10.42.0.160 IP, то як завжди:

ssh pi@10.42.0.160

У мене також є таке .bashrc:

piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )

Зсередини Pi зауважте, що він може нормально отримувати доступ до Інтернету через інші інтерфейси вашого хоста:

ping google.com

Наприклад, на моєму ноутбуці Pi бере Ethernet, але хост також підключений до Інтернету через WiFi.

Перехресний кабель не потрібен, якщо хост мережева карта підтримує Auto MDI-X . Це стосується самого останнього обладнання, включаючи, наприклад, тестований Lenovo T430 2012, з яким «Intel® 82579LM Gigabit Network Connection», який підтверджує підтримку Auto MDI-X .

Тепер ви також можете:

Послідовний USB-перетворювач UART

Це альтернатива SSH, якщо ви просто хочете отримати оболонку на Pi: https://en.wikipedia.org/wiki/Serial_port

Для цього використовується не SSH, а сама мережа, а старіший, простіший, більш прямий, надійніший, менша пропускна здатність, серійний інтерфейс на меншій відстані. Pi не матиме доступу до Інтернету цим методом.

Настільні комп'ютери все ще мають послідовний порт, до якого ви можете підключити безпосередньо провід до проводу з Pi, але вони приховані у більшості ноутбуків, і тому нам потрібно придбати дешевий USB-адаптер. Тут я використав: https://www.amazon.co.uk/gp/product/B072K3Z3TL Дивіться також: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882

Спочатку підключіть SD-карту до хоста та відредагуйте config.txtфайл, присутній у першому розділі, щоб додати:

enable_uart=1

як пояснено на веб- сайті: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Цей перший розділ містить завантажувач, його конфігураційні файли та ядро ​​(Linux / your), що config.txtє одним із них. Другий розділ містить фактичну кореневу файлову систему Linux.

Тепер підключіть комп’ютер до Pi як:

введіть тут опис зображення

Вам потрібно підключити лише 3 кабелю:

  • Земля до землі
  • Tx на Pi - Rx на USB - серійний порт
  • Rx на Pi-Tx на USB-серійний порт

Це також задокументовано за адресою: https://www.raspberrypi.org/documentation/usage/gpio/README.md

Будьте обережні, щоб не підключити Ground до 5V, я вже записав 2 UART на USB мікросхеми, зробивши це!

Вам взагалі не потрібно підключати 5В до 5В. Я думаю, ви можете живити Pi так, але я читав, що це погана ідея, просто використовуйте звичайне джерело живлення USB.

Нарешті, підключіть USB-з'єднувач до роз’єму до вашого хост-комп'ютера та отримайте оболонку із:

sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200

Вихід із Ctrl-A \.

Ось відео Adafruit, яке показує його: https://www.youtube.com/watch?v=zUBPeoLW16Q

Дивись також

Аналогічне запитання щодо переповнення стека: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router


Не слід повторювати завжди однакову відповідь . Замість цього зробіть коментар із посиланням на свою першу відповідь або максимум зробіть нову відповідь з іншим аспектом та посиланням на першу відповідь як орієнтир.
Інго

@Ingo я вважаю, що ця відповідь найкраща на обидва питання. Якщо ви думаєте, що я не відповів на запитання, будь ласка, дайте мені знати, як. Коментар просто зникне в морі коментарів, а потім інші повторять той самий зміст з іншим формулюванням.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

2

Ви можете легко зробити це, підключивши пі-ла до ноутбука за допомогою кабелю LAN. Будь ласка, переконайтеся, що (у списку, коли ви це робите вперше), у вас працює сервер dhcp, який працює на вашому ноутбуці та слухає LAN інтерфейс, який ви використовуєте для з'єднання з pi. Вам потрібно якось призначити адресу малині.


Вам не потрібен dhcp.
Лоранс

1
Якщо у вас статично налаштований IP, вам цього не потрібно. Якщо ні, то вам потрібно щось надати IP-адресу.
кодове воїн


1

Проблема полягає в тому, що потрібно підключити 2 пристрої одного типу. Але це все-таки можливо. Ви можете використовувати для цього кабель Crossover (метод 1), або ви можете використовувати комутатор або концентратор для автоматичного встановлення перехресного з'єднання (метод 2). Або просто скористайтеся простим маршрутизатором (метод 3).

Зробити можливим з'єднання

Спосіб1:

Використовуйте кабель Crossover та підключіть ПК та ПК:

Перехресний кабель Ethernet - це тип кабелю Ethernet, який використовується для прямого з'єднання обчислювальних пристроїв. Для підключення від контролера мережевого інтерфейсу (комп'ютера чи подібного пристрою) до мережевого комутатора, концентратора або маршрутизатора використовували звичайні прямі або патч-кабелі. Кабель із з'єднаннями, які «перехрещуються», використовувався для з'єднання двох пристроїв одного типу: два хости або два комутатори один до одного. Завдяки включенню можливості Auto-MDIX.

Вам потрібно підключити кабелі до UTP-кабелю так: http://www.incentre.net/wp-content/uploads/2015/02/ethcablerj45cr.gif

Джерело: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Спосіб2:

Ви також можете використовувати сучасний кабель Ethernet із крученою парою для підключення до вашого ІП. Але для цього вам потрібен концентратор або комутатор:

з'єднання можуть бути виконані прямим кабелем за допомогою порту MDI-X, також відомого як "внутрішній кросовер" або "вбудований кросовер". Порти концентратора та комутатора з такими внутрішніми кросовер зазвичай позначені як такі з "uplink" або "X". Наприклад, 3Com зазвичай позначає свої порти 1X, 2X тощо. У деяких випадках передбачена кнопка, яка дозволить порту діяти як звичайний або вихідний порт.

Джерело: http://en.wikipedia.org/wiki/Ethernet_over_twisted_pair

Більше інформації:

Введений у 1998 році, це зробило розмежування між висхідною та звичайною портами та ручними перемикачами вибору на старих концентраторах та комутаторах. Якщо один або обидва підключені пристрої мають функцію автоматичної конфігурації MDI / MDI-X, немає необхідності в перехресних кабелях. Хоча Auto-MDIX був визначений як додаткова функція в стандарті 1000BASE-T, на практиці він широко застосовується на більшості інтерфейсів. Окрім остаточного погодження щодо автоматичного MDI / MDI-X, ця функція може також посилатися на різні конкретні для постачальника умови, включаючи: автоматичну висхідну лінію та торгівлю, універсальне розпізнавання кабелів та автоматичне зондування.

Джерело: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Спосіб 3

Використовуйте маршрутизатор і підключіть до маршрутизатора і ПК, і ПК.

Зробіть з'єднання

Дайте їм обом IP в одному діапазоні, наприклад:

PC: 192.168.1.10 Subnet: 255.255.255.0
PI: 192.168.1.11 Subnet: 255.255.255.0

Ви можете знайти тут, як це зробити: http://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial/

Увімкнути SSH

http://steve.dynedge.co.uk/2012/05/29/enabling-ssh-on-debian-raspberry-pi/

Підключіться до ПІ

У Windows використовують, наприклад, Putty .

Інший метод:

Ви також можете подивитися тут: http://www.linux-usb.org/usbnet/


Як працює метод 2? Чи не потрібно мені активне мережеве з'єднання на комп’ютері?
Тиїло

Я не закінчив цю частину струменя. Дайте мені 1 сек.
Лоранс

4
Я подумав, що час, коли людям доводиться користуватися кросовер-кабелями назавжди :) Наразі кожна нова карта Ethernet здатна здійснювати схрещування без необхідності перехрещувати кабель.
codewarrior

Ви ніколи не знаєте, який у нього ПК, крім того, ви завжди можете спробувати UTP-кабель.
Лоранс

Звичайні прямі кабелі Ethernet працюють на PI 2, десь читайте, що його інтерфейс може це розпізнати. Щойно перевірена на Ubuntu 16.04, RPI 2 Raspbian 2016.05.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.