Cara menghubungkan dan menggunakan ssh tanpa layar menggunakan BUILDROOT

12

Saya ingin membangun sistem minimal untuk raspberry pi (B +) untuk meningkatkan kinerja algoritma deteksi wajah saya ... Saya telah menemukan BuildRoot: untuk konfigurasi saya menemukan bahwa tidak perlu melakukan konfigurasi sendiri dan sebagai gantinya saya telah menggunakan yang disediakan satu :

make raspberrypi_defconfig
make

Sekarang saya tidak memiliki Kabel HDMI untuk menghubungkan pi ... ketika menghubungkannya ke laptop saya led merah menyala dan led hijau mulai berkedip: itu berarti bahwa pi membaca kartu SD dengan benar Ini adalah pertama kalinya saya Saya menggunakan buildroot, dan saya tidak tahu cara mengaktifkan ssh untuk pi atau cara menampilkan alamat pi. Perhatikan ini bukan duplikat Siapkan untuk ssh tanpa layar karena dalam solusi yang mereka berikan

Untuk mengaktifkan ssh saat startup, buat cadangan boot.rc pada partisi boot pada gambar SD dan ganti dengan boot_enable_ssh.rc

Yah saya tidak punya file bernama boot.rc

Saya dapat mengakses kartu sd menggunakan ubuntu 14.04, menjalankan ls dari folder boot tunjukkan ini:

bootcode.bin  cmdline.txt  config.txt  fixup.dat  start.elf  zImage

saya juga telah mencoba menggunakan ip statis dengan menambahkan 10.42.0.5 ke cmdline.txt tetapi setelah itu saya tidak dapat terhubung ke pi dengan alamat ini. Jadi saya punya dua masalah:

  1. Cara terhubung ke alamat pi saat menggunakan buildroot: Tautan ke Solusi
  2. Cara mengatur dan terhubung ke pi menggunakan ssh menggunakan buildroot dan tanpa HDMI.

Btw saya menggunakan kabel ethernet untuk terhubung ke pi

Terima kasih :)

UPDATE : saya telah menambahkan tautan ke solusi untuk masalah pertama Sekarang alamat pi muncul setelah pemindaian jaringan ethernet:

nmap -sP 10.42.0.0/24
Nmap scan report for 10.42.0.5
Host is up (0.00076s latency).

Sekarang masalah yang saya miliki adalah bagaimana mengaktifkan ssh agar tidak dapat terhubung ke pi tanpa HDMI (menggunakan Buildroot)

Saat mencoba ssh pi (buildroot adalah nama host sistem yang digunakan):

ssh [email protected]
ssh: connect to host 10.42.0.5 port 22: Connection refused

Saya pikir itu karena ssh tidak diaktifkan !!!

Buruk rupa
sumber
AFAIK adalah SSH diaktifkan secara default ... BTW apakah Anda menggunakan port ethernet atau adaptor USB WiFi?
wb9688
apa arti AFAIK? Tidak, saya menggunakan kabel ethernet
The Beast
A s F ar A s I K now ...! Pada PC yang menjalankan Ubuntu coba sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'Anda mungkin perlu mengubah alamat jaringan yang ditentukan oleh 192.168.x.0/24tempat X berada di antara 0-255 inklusif yang akan mencakup Anda untuk rentang alamat Kelas C pribadi yang disediakan untuk LAN. Ini memfilter hasil untuk alamat MAC unik yang akan dimiliki Antarmuka Ethernet pada Pi ...
SlySven
1
@SlySven yang saya gunakan malah sudo nmap -sP 10.42.0/24memberi saya 1 host sudah habis (ini laptop saya) tetapi tidak ada perangkat lain yang terdeteksi !!! Catatan: alamat ethernet saya adalah 10.42.0.1 dan perintah sudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'memberikan output kosong
The Beast
1
@ wb9688 ya saya telah menggunakannya ketika menginstal raspbian, dan terhubung dengan mudah [email protected]setelah memilih ip statis
The Beast

Jawaban:

3

Jika semua yang Anda lakukan adalah make raspberrypi_defconfig && make, maka Anda masih memiliki banyak pekerjaan yang harus dilakukan untuk mendapatkan sistem berjalan yang bermanfaat.

Konfigurasi default BuildRoot adalah untuk semuanya dimatikan kecuali untuk BusyBox. Server ssh tidak merespons karena Anda tidak memberi tahu BuildRoot bahwa Anda ingin mengompilasinya!

Mulailah dengan menjalankan make menuconfigdi direktori BuildRoot Anda. Openssh dapat diaktifkan dengan menavigasi ke paket Target, aplikasi Networking, openssh.

Mungkin akan sangat sulit untuk membuatnya bekerja tanpa monitor pada Pi. Anda tidak perlu menggunakannya dalam versi final, setelah Anda mulai bekerja, tetapi akan sangat sulit untuk mendiagnosis masalah startup tanpa monitor. Beli sendiri kabel HDMI atau HDMI -> konverter DVI, dan gunakan konsol lokal.

David Yaw
sumber
1
Untuk debug, saya juga merekomendasikan untuk mendapatkan kabel USB to TTL UART. Itu hanya bekerja pada buildroot 2016.05 rpi2 image. Seharusnya cukup untuk OP untuk setup x11vnc.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
3

Pendahuluan: Saya menggunakan buildroot-2017.02.3 untuk Raspberry PI 2 dan mengaktifkan openssh dari make menuconfig. Tanpa perubahan lebih lanjut, login ssh tidak berfungsi, karena default yang dihasilkan /etc/ssh/sshd_configtidak mengizinkan login root.

Opsi A: Tambahkan Pengguna

Anda dapat menambahkan pengguna melalui buildroot. Entri manual berikut mungkin membantu:

Pada dasarnya, Anda membuat file teks yang mendefinisikan pengguna Anda dalam sintaks khusus seperti:

foo -1 foo -1 =bar /home/foo /bin/sh - no_comment

dan kirim BuildRoot di make menuconfig> System Configuration> user tablesmana untuk menemukan file tabel user Anda. Konten sampel di atas akan membuat pengguna tambahan foodengan kata sandi bar(login diaktifkan). Pengguna ini dapat masuk melalui ssh segera, karena dia bukan root.

Opsi B: Izin Masuk Root

Ketika Anda menggunakan kartu SD untuk sistem (mis. Pada raspberry), Anda dapat memasang kartu pada PC Anda, mengedit /media/<pathToYourSD>/etc/ssh/sshd_config(diperlukan sudo), dan menemukan jalurnya

#PermitRootLogin prohibit-password

dan ubah ke

PermitRootLogin yes

Ini memungkinkan root untuk login melalui ssh. Perhatikan bahwa saya telah menetapkan kata sandi untuk root. Tidak yakin apakah ini berfungsi tanpa kata sandi. Jika Anda tidak dapat memasang kartu sd Anda, Anda harus menulis skrip posting build yang melakukan modifikasi yang sama seperti yang dijelaskan, tetapi pada host build (sebelum rootfs dikemas).

Patrick Stalph
sumber
1

Tidak ada router + kabel Ethernet biasa + RPI 2 + Buildroot 2016.05 + host Ubuntu 16.04

Dapatkan itu berfungsi setelah saya membagi masalah ini menjadi dua bagian:

  1. dapatkan ethernet SSH bekerja dengan Raspbian dan koneksi kabel langsung (yang sudah memiliki daemon sshd setup yang berjalan dengan benar) /raspberrypi//a/54394/33424

  2. pelajari cara melakukan konfigurasi sshd yang tepat di QEMU + buildroot: /programming//a/39301480/895245

    Di papan nyata, Anda tidak memiliki jendela QEMU untuk memodifikasi /etc/ssh/sshd_configtentu saja, jadi Anda harus:

    • modifikasi pada host sebelum menginstal (baik BR2_ROOTFS_OVERLAY, pasang output/images/sdcard.imgdengan /ubuntu//a/496576/52975 , atau mainkan dengan output/target)
    • terhubung melalui serial UART. Anda akan ingin ini berfungsi cepat atau lambat, karena ini adalah cara terbaik untuk men-debug distro buildroot Anda di papan tulis.

.confighanya raspberrypi2_defconfig+ opensshdiaktifkan dengan make menuconfig.

Maka cukup:

ssh "root@$(cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3)"

TTL pada gambar hanya digunakan untuk daya.

Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
sumber
0

Saya tahu ini lama tenang tapi saya punya masalah yang sama persis. Saya harus mengedit file konfigurasi sshd di /etc/ssh. Saya mengedit file itu dengan memasang sd-card di sistem lain. Anda harus mengizinkan root untuk login menggunakan ssh (sesuatu seperti PermitRootLogin ya ).

pengguna46829
sumber
-1

Ini adalah bagaimana saya melakukan pengaturan pi tanpa kepala:

  1. mengunduh etcher dan perangkat lunak raspbian terbaru dari raspberrypi.org

  2. Pengetsa yang digunakan untuk membakar file ke kartu sd saya

  3. etsa secara otomatis mengeluarkan kartu sd, letakkan kembali ke komputer Anda lagi

  4. membuat file tanpa apa pun di dalamnya, menyebutnya ssh (pastikan tidak ada ekstensi yang diaktifkan saat disimpan)

  5. memasukkannya ke pi raspberry saya, terhubung ethernet dari RPi ke router dan artached micro usb ti RPi itu.

  6. Memecat RPi, menunggu 1-2mins.

  7. pergi ke halaman router saya (ketik ip router Anda, harus di router Anda sendiri

  8. Mencari perangkat yang terhubung, menemukan alamat ip raspberry pi saya.

  9. tuliskan alamat ip dan buka terminal

  10. di terminal tulis: ssh pi @ YOURRPIiphere!

  11. ganti YOURRPIiphere dengan alamat ip rpis

  12. tekan enter dan ketikkan kata sandi default, raspberry

  13. untuk mengkonfigurasi RPi do sudo raspi-config, edit pengaturan Anda, reboot!

Berharap bantuan ini!

N2O paling gelap
sumber
1
OP menggunakan Buildroot, bukan Raspbian yang sudah dibangun sebelumnya
Jeremiah Rose