SSH ke RPi tanpa koneksi jaringan?

36

Apakah mungkin SSHmasuk ke RPi tanpa koneksi jaringan?

Saya bisa membayangkan bahwa Anda bisa melakukannya menggunakan kabel LAN dari komputer ke RPi atau mungkin menggunakan kabel USB.

Saya benar-benar memiliki akses ke jaringan, namun tidak mengizinkan koneksi masuk (bahkan dari IP lokal) ke port apa pun kecuali 80 dan 443 yang saya bayangkan.

Tyilo
sumber
3
Cukup gunakan kabel crossover, saya kira itu adalah solusi yang Anda butuhkan;). Sambungkan semua kabel di kabel UTP seperti ini: numitechsolutions.com/wp-content/uploads/2012/01/… lalu hubungkan dengan PI dan PC Anda. Beri mereka IP, selesai;).
Laurence
Mengenai proses connectiong, ada artikel yang bagus: Raspberry Pi Remote Connections - Tanpa Jaringan! . Ini menjelaskan konfigurasi laptop Mac dan Windows.
Tomáš Zato - Reinstate Monica
1
Dengan adapter Ethernet modern, crossover tidak lagi diperlukan. Pada kotak Windows, cukup 'bagikan' koneksi jaringan WIFI Anda (buka adaptor properti, bagikan) dengan LAN Anda. RPI akan mendapatkan alamat IP dari sana. Ini akan memberi Anda akses SSH dari kotak Windows ke RPi Anda tetapi bukan akses eksternal.
fcm
Seperti komentar fcm, kabel crossover sebagian besar adalah sesuatu dari masa lalu sekarang ; antarmuka ethernet kontemporer termasuk yang ada di pi akan secara fisik menyeberang sendiri ketika dihubungkan bersama.
goldilocks
Saya hanya terjebak dengan masalah ini juga dan sekarang saya bisa melakukannya. Jadi saya perlu membagikan solusi saya. Anda dapat melihat tautan ini, topboxbox.blogspot.com/2017/11/...
TopBoxBox

Jawaban:

6

Tanpa router + tanpa layar + kabel Ethernet biasa + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10

Pertama kita harus mengaktifkan server SSH pada Pi, yang dinonaktifkan secara default untuk keamanan.

Jika Anda sudah memiliki shell pada Pi melalui metode non-SSH seperti layar + keyboard atau UART (lihat di bawah), jalankan saja:

sudo systemctl enable ssh
sudo service sshd start

seperti yang dijelaskan di: SSH tidak bekerja dengan pemasangan baru. Ini tetap berlaku di seluruh boot.

Jika tidak, masukkan kartu SD pada host Anda, dan buat file kosong ajaib bernama sshfile di boot/partisi.

Di host Ubuntu, ia dipasang secara otomatis dan Anda dapat melakukannya:

sudo touch /media/$USER/boot/ssh

yang dapat Anda konfirmasi dengan:

lsblk

yang mengandung:

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

Jika Anda tidak mengaktifkan daemon SSHD pada Pi, maka koneksi SSH akan gagal dengan:

ssh: connect to host 10.42.0.160 port 22: Connection refused

ketika kita mencobanya nanti.

Setelah mengaktifkan server SSH

Selanjutnya, boot Pi, dan hubungkan kabel Ethernet dari laptop Anda langsung ke Pi:

masukkan deskripsi gambar di sini

Di Ubuntu 17.04 untuk mengatasi bug ini sebagaimana disebutkan pada jawaban ini, Anda pertama-tama perlu:

sudo apt-get install dnsmasq-base

Pada host, buka manajer jaringan:

nm-connection-editor

Dan pergi:

  1. + tanda (Tambahkan koneksi baru)
  2. Ethernet
  3. Membuat
  4. Pengaturan IPv4
  5. Metode: Dibagikan ke komputer lain
  6. Tetapkan nama yang bagus untuk itu
  7. Menyimpan

masukkan deskripsi gambar di sini

Temukan IP Pi pada host:

cat /var/lib/misc/dnsmasq.leases

menghasilkan sesuatu seperti:

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

10.42.0.160 adalah IP, lalu seperti biasa:

ssh [email protected]

Saya juga memiliki yang berikut ini di .bashrc:

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

Dari dalam Pi, perhatikan bahwa ia dapat mengakses internet secara normal melalui antarmuka host Anda yang lain:

ping google.com

Sebagai contoh pada laptop saya, Pi mengambil Ethernet, tetapi tuan rumah juga terhubung ke internet melalui WiFi.

Kabel crossover tidak diperlukan jika kartu jaringan host mendukung Auto MDI-X . Ini adalah kasus untuk sebagian besar perangkat keras terbaru, termasuk misalnya Lenovo T430 I 2012 yang diuji dengan, yang memiliki "Intel® 82579LM Gigabit Network Connection" yang mendokumentasikan dukungan untuk Auto MDI-X .

Sekarang Anda juga bisa:

Konverter USB serial UART

Ini adalah alternatif untuk SSH jika Anda hanya ingin mendapatkan shell pada Pi: https://en.wikipedia.org/wiki/Serial_port

Ini tidak menggunakan SSH atau jaringan itu sendiri, tetapi lebih tua, lebih sederhana, lebih langsung, lebih dapat diandalkan, bandwidth yang lebih rendah, antarmuka serial jarak yang lebih rendah. Pi tidak akan memiliki akses ke Internet dengan metode ini.

Komputer desktop masih memiliki port serial yang dapat Anda sambungkan secara langsung dengan kawat ke kabel, tetapi ini tersembunyi di sebagian besar laptop, jadi kami perlu membeli adaptor USB yang murah. Di sini saya telah menggunakan: https://www.amazon.co.uk/gp/product/B072K3Z3TL Lihat juga: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882

Pertama pasang kartu SD pada host, dan edit config.txtfile yang ada di partisi pertama untuk menambahkan:

enable_uart=1

seperti yang dijelaskan di: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195

Partisi pertama ini berisi bootloader, file konfigurasinya dan kernel (Linux / Anda), config.txtmenjadi salah satunya. Partisi kedua berisi sistem file root Linux yang sebenarnya.

Sekarang hubungkan komputer Anda ke Pi sebagai:

masukkan deskripsi gambar di sini

Anda hanya perlu memasang 3 kabel:

  • Ground to Ground
  • Tx pada Pi ke Rx pada USB ke port serial
  • Rx pada Pi ke Tx pada tye USB ke port serial

Ini juga didokumentasikan di: https://www.raspberrypi.org/documentation/usage/gpio/README.md

Hati-hati untuk tidak menghubungkan Ground ke 5V, saya sudah membakar 2 UART ke chip USB dengan melakukan itu!

Anda tidak perlu menghubungkan 5V ke 5V sama sekali. Saya pikir Anda dapat memberi daya Pi Anda seperti itu, tapi saya sudah membaca bahwa ini adalah ide yang buruk, cukup gunakan sumber daya USB yang biasa.

Terakhir, colokkan sisi USB konektor ke komputer host Anda, dan dapatkan shell dengan:

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

Keluar dengan Ctrl-A \.

Ini adalah video karya Adafruit yang memperlihatkannya: https://www.youtube.com/watch?v=zUBPeoLW16Q

Lihat juga

Pertanyaan serupa tentang Stack Overflow: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
sumber
Anda tidak harus selalu mengulangi jawaban yang sama . Alih-alih membuat komentar dengan tautan ke jawaban pertama Anda atau paling banyak buatlah jawaban baru dengan aspek berbeda dan tautan ke jawaban pertama sebagai referensi.
Ingo
@ Ingo Saya yakin jawaban ini adalah yang terbaik sejauh ini untuk kedua pertanyaan. Jika Anda pikir saya belum menjawab pertanyaan, beri tahu saya caranya. Sebuah komentar hanya akan hilang di lautan komentar, dan kemudian orang lain akan mengulangi konten yang sama dengan kata-kata yang berbeda.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
2

Anda dapat dengan mudah melakukannya dengan menghubungkan pi Anda ke laptop melalui kabel LAN. Pastikan bahwa (pada daftar saat Anda melakukannya pertama kali) Anda memiliki server dhcp yang bekerja pada laptop Anda dan mendengarkan pada antarmuka LAN yang Anda gunakan untuk terhubung dengan pi. Anda perlu menetapkan alamat untuk raspberry.

prajurit kode
sumber
Anda tidak perlu dhcp.
Laurence
1
Jika Anda memiliki IP yang dikonfigurasi secara statis, Anda tidak perlu melakukannya. Jika tidak, Anda perlu sesuatu untuk memberi Anda alamat IP.
codewarrior
2

Bagi saya, cara yang paling nyaman adalah dengan menggunakan Tethering USB pada perangkat Android saya, sambungkan ke raspberry dan kemudian SSH dari ponsel saya ke raspberry.

lihat posting ini SSH dari Android ke rPI menggunakan USB?

philx_x
sumber
1

Masalahnya adalah Anda ingin menghubungkan 2 perangkat dengan tipe yang sama. Tapi itu masih mungkin. Anda dapat menggunakan kabel Crossover untuk ini (Metode 1), atau Anda dapat menggunakan sakelar atau hub untuk secara otomatis membuat koneksi crossover (Metode 2). Atau cukup gunakan router sederhana (Metode 3).

Buat koneksi mungkin

Metode1:

Gunakan kabel Crossover dan sambungkan PC dan PI Anda:

Kabel crossover Ethernet adalah jenis kabel Ethernet yang digunakan untuk menghubungkan perangkat komputasi secara langsung. Kabel straight through atau patch biasa digunakan untuk terhubung dari pengontrol antarmuka jaringan host (komputer atau perangkat serupa) ke switch jaringan, hub, atau router. Kabel dengan koneksi yang "cross over" digunakan untuk menghubungkan dua perangkat dari jenis yang sama: dua host atau dua switch satu sama lain. Karena dimasukkannya kemampuan Auto-MDIX.

Anda perlu menghubungkan kabel dalam kabel UTP seperti ini: http://www.incentre.net/wp-content/uploads/2015/02/ethcablerj45cr.gif

Sumber: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Metode2:

Anda juga dapat menggunakan kabel Ethernet twisted pair modern untuk terhubung ke PI Anda. Tetapi Anda membutuhkan hub atau switch untuk ini:

koneksi dapat dibuat dengan kabel langsung melalui port MDI-X, juga dikenal sebagai koneksi "crossover internal" atau "embedded crossover". Hub dan alihkan port dengan crossover internal seperti itu biasanya diberi label demikian, dengan "uplink" atau "X". Sebagai contoh, 3Com biasanya memberi label port mereka 1X, 2X, dan sebagainya. Dalam beberapa kasus tombol disediakan untuk memungkinkan port bertindak sebagai port normal atau uplink.

Sumber: http://en.wikipedia.org/wiki/Ethernet_over_twisted_pair

Informasi lebih lanjut:

Diperkenalkan pada tahun 1998, ini membuat perbedaan antara port uplink dan normal dan switch pemilih manual pada hub yang lebih lama dan switch menjadi usang. Jika satu atau kedua perangkat yang terhubung memiliki fitur konfigurasi MDI / MDI-X otomatis, tidak perlu kabel crossover. Meskipun Auto-MDIX ditetapkan sebagai fitur opsional dalam standar 1000BASE-T, dalam praktiknya ini diterapkan secara luas pada sebagian besar antarmuka. Selain yang akhirnya disepakati secara Otomatis MDI / MDI-X, fitur ini juga dapat disebut oleh berbagai persyaratan khusus vendor termasuk: Auto uplink dan perdagangan, Pengenalan Kabel Universal dan Penginderaan Otomatis.

Sumber: http://en.wikipedia.org/wiki/Ethernet_crossover_cable

Metode 3

Gunakan Router dan sambungkan PI dan PC ke Router.

Buat koneksi

Beri mereka berdua IP dalam kisaran yang sama, misalnya:

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

Anda dapat menemukan di sini cara melakukan ini: http://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial/

Aktifkan SSH

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

Hubungkan ke PI

Pada Windows digunakan misalnya Putty .

Metode lain:

Anda juga dapat melihat di sini: http://www.linux-usb.org/usbnet/

Laurence
sumber
Bagaimana cara kerja metode 2? Apakah saya tidak memerlukan koneksi jaringan aktif di komputer saya?
Tyilo
Saya belum menyelesaikan bagian jet itu. Beri aku 1 detik.
Laurence
4
Saya berpikir bahwa saat ketika orang harus menggunakan kabel crossover hilang selamanya :) Sekarang setiap kartu ethernet baru dapat melakukan persimpangan tanpa perlu memiliki kabel crossover.
codewarrior
Anda tidak pernah tahu PC jenis apa yang dimilikinya, selain itu, Anda selalu dapat mencoba kabel UTP.
Laurence
Kabel Ethernet lurus normal berfungsi pada PI 2, baca di suatu tempat yang dapat dikenali oleh antarmuka itu. Baru diuji di Ubuntu 16.04, RPI 2 Raspbian 2016.05.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件