Bez routera + bez ekranu + zwykły kabel Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Najpierw musimy włączyć serwer SSH na Pi, który jest domyślnie wyłączony ze względów bezpieczeństwa.
Jeśli masz już powłokę na Pi za pomocą metody innej niż SSH, takiej jak ekran + klawiatura lub UART (patrz poniżej), po prostu uruchom:
sudo systemctl enable ssh
sudo service sshd start
jak wyjaśniono na: /raspberrypi/58478/ssh-not-working-with-fresh-install To utrzymuje się przez różne buty.
W przeciwnym razie włóż kartę SD do swojego hosta i utwórz magiczny pusty plik o nazwie ssh
file na boot/
partycji.
Na hostach Ubuntu jest montowany automatycznie i możesz po prostu:
sudo touch /media/$USER/boot/ssh
które możesz potwierdzić:
lsblk
który zawiera:
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
Jeśli nie włączysz demona SSHD na Pi, połączenie SSH nie powiedzie się z:
ssh: connect to host 10.42.0.160 port 22: Connection refused
kiedy spróbujemy później.
Po włączeniu serwera SSH
Następnie uruchom Pi i podłącz kabel Ethernet z laptopa bezpośrednio do Pi:
W systemie Ubuntu 17.04, aby obejść ten błąd, jak wspomniano w tej odpowiedzi , najpierw potrzebujesz:
sudo apt-get install dnsmasq-base
Na hoście otwórz menedżera sieci:
nm-connection-editor
I idź:
+
znak (Dodaj nowe połączenie)
- Ethernet
- Stwórz
- Ustawienia IPv4
- Metoda: udostępniona innym komputerom
- Nadaj mu dobrą nazwę
- Zapisać
Znajdź adres IP Pi na hoście:
cat /var/lib/misc/dnsmasq.leases
wyświetla coś takiego:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
jest adresem IP, to jak zwykle:
ssh pi@10.42.0.160
Mam również w moim .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Z wnętrza Pi zwróć uwagę, że może on normalnie uzyskać dostęp do Internetu przez inne interfejsy twojego hosta:
ping google.com
Na przykład na moim laptopie Pi zajmuje Ethernet, ale host jest również podłączony do Internetu przez WiFi.
Kabel krosowy nie jest wymagany, jeśli karta sieciowa hosta obsługuje funkcję Auto MDI-X . Tak jest w przypadku najnowszego sprzętu, w tym na przykład testowanego przeze mnie Lenovo T430 z 2012 r., Który ma „Intel® 82579LM Gigabit Network Connection”, które dokumentuje obsługę funkcji Auto MDI-X .
Teraz możesz również:
Szeregowy konwerter USB UART
Jest to alternatywa dla SSH, jeśli chcesz tylko uzyskać powłokę na Pi: https://en.wikipedia.org/wiki/Serial_port
Nie wykorzystuje SSH ani samej sieci, ale raczej starszy, prostszy, bardziej bezpośredni, bardziej niezawodny, o mniejszej przepustowości i mniejszym dystansie interfejs szeregowy. Pi nie będzie miał dostępu do Internetu tą metodą.
Komputery stacjonarne nadal mają port szeregowy, który można podłączyć bezpośrednio przewodem do kabla z Pi, ale są one ukryte w większości laptopów, więc musimy kupić tani adapter USB. Tutaj użyłem: https://www.amazon.co.uk/gp/product/B072K3Z3TL Zobacz też: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Najpierw podłącz kartę SD do hosta i edytuj config.txt
plik obecny na pierwszej partycji, aby dodać:
enable_uart=1
jak wyjaśniono na: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Ta pierwsza partycja zawiera program ładujący, jego pliki konfiguracyjne i jądro (Linux / twoje), config.txt
będące jednym z nich. Druga partycja zawiera rzeczywisty główny system plików Linuksa.
Teraz podłącz komputer do Pi jako:
Wystarczy podłączyć 3 kable:
- Ziemia do ziemi
- Tx na Pi do Rx na USB do portu szeregowego
- Rx na Pi do Tx na tye USB do portu szeregowego
Jest to również udokumentowane pod adresem : https://www.raspberrypi.org/documentation/usage/gpio/README.md
Uważaj, aby nie połączyć masy z 5V, już spaliłem 2 układy UART na USB i RPI UART w ten sposób!
W ogóle nie musisz podłączać 5V do 5V. Myślę, że możesz tak zasilać swoje Pi, ale przeczytałem, że to zły pomysł, po prostu użyj zwykłego źródła zasilania USB.
Na koniec podłącz stronę USB złącza do komputera głównego i uzyskaj powłokę z:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Wyjdź za pomocą Ctrl-A \
.
Oto wideo autorstwa Adafruit pokazujące to: https://www.youtube.com/watch?v=zUBPeoLW16Q
Zobacz też
Podobne pytanie w RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection