Saya memiliki model Raspberry Pi B di rumah, tetapi saya tidak memiliki layar. Rencana saya adalah menghubungkannya ke Ethernet dan kemudian ssh ke dalamnya. Tetapi ini berarti kartu SD dengan sistem operasi (Debian Squeeze) harus disiapkan terlebih dahulu. Saya melihat dua cara:
Siapkan SD dengan OS sedemikian rupa sehingga RPi selalu terhubung ke Ethernet di bawah alamat IP tetap dan memungkinkan server SSH.
Siapkan SD dengan OS sedemikian rupa sehingga RPi terhubung ke jaringan, mengaktifkan server SSH dan kemudian menyiarkan alamat IP-nya sehingga saya dapat ssh ke dalamnya.
Manakah dari cara-cara ini yang lebih mudah? Dan bagaimana saya melakukannya? Apakah ada cara lain?
Saya memiliki alat-alat berikut: Ubuntu 10.4, MacOS 10.5, Windows 7, tetapi hanya Ubuntu yang memiliki cardreader. Sayangnya saya tidak dapat mengakses tabel DHCP router saya, ini benar-benar tertutup.
Jawaban:
Untuk mengaktifkan ssh saat startup, buat cadangan
boot.rc
pada partisi boot pada gambar SD dan ganti denganboot_enable_ssh.rc
Saya tidak tahu tentang router Anda, tetapi Anda mungkin dapat mengkonfigurasinya untuk memesan alamat IP tetap untuk alamat MAC Pi Anda.
sumber
Salin
boot_enable_ssh.rc
keboot.rc
dari/boot
dalamrootfs
(kartu SD) Raspberry PiMasih di Raspberry Pi
rootfs
, edit/etc/network/interfaces
untuk memiliki alamat IP tetap yang ditetapkan (jadi tidak perlu server DHCP ). Sebagai contoh,Boot Raspberry Pi Anda, gunakan kabel Ethernet untuk menghubungkannya ke jaringan yang sama dengan PC Anda terhubung (atau sambungkan langsung ke PC Anda) dan login melalui SSH:
Instal server VNC ringan di Raspberry Pi Anda:
Kemudian mulai server VNC (Anda akan diminta untuk mengatur kata sandi):
Instal klien VNC di PC Anda:
Kemudian hubungkan ke Raspberry Pi Anda melalui VNC dari PC Anda:
Itu hanya bekerja di sini dengan cara itu :)
sumber
Tidak
boot_enable_ssh.rc
ada barang yang ada di Raspian build saat ini. Anda mem-boot, menu grafis yang bagus memberi Anda beberapa opsi (termasuk apakah SSHD harus memuat saat boot) dan kemudian membuang Anda di baris perintah.Itu bagus jika ... Anda adalah pengguna grafis.
Jika tidak, Anda berada di posisi di mana Anda harus menjalankannya secara eksternal
update-rc.d
. Semua ini benar-benar dilakukan adalah membuat symlink ke/etc/init.d/...
skrip di berbagai titik di sistem/etc/rc{0..6}.d/...
file. Bingung? Sudahlah - melakukan kerusakan itu sederhana.Saya berasumsi Anda melakukan ini dari komputer Linux. Setidaknya sesuatu menggunakan bash, atau sesuatu yang kompatibel. Apa yang saya sarankan tidak akan berfungsi dari Windows tanpa Cygwin (atau lainnya). Pasang kartu SD dan
cd
ke dalamnya.Lari:
Lepas, dan boot. Anda harus memiliki akses ke sana melalui SSH.
Jika Anda kesulitan menemukannya di jaringan Anda ...
Tiga opsi untuk Anda:
ifconfig
(curang!)Gunakan
nmap
di komputer lain untuk memindai. Anda harus tahu IP apa yang kira-kira dimiliki (ke / 24) sehingga pemindaiannya sederhana:sumber
ping -b 192.168.0
atau yang setara? Saya tidak yakin seberapa layaknya ini karena saya baru saja menguji ini pada dua router tanpa hasil. Tampaknya akan diblokir secara umum.arping
; ia melakukan apa yang diterapkan oleh perintah ping dan arp terpisah, tetapi kemudian tanpa membanjiri jaringan dengan paket ICMP.arp -a
tidak melakukan ini sendiri.Jika Anda menggunakan distribusi Arch Linux , Anda cukup tancapkan dan tunggu sampai mendapatkan alamatnya ditetapkan dari server DHCP . Anda kemudian dapat memeriksa status DHCP (dengan menghubungkan ke router Anda misalnya) dan mengambil alamat IP dari daftar klien yang terhubung. Jika gagal, Anda dapat menggunakan
nmap
atau alat serupa untuk memindai seluruh subnet untuk port terbuka 22 (SSH diaktifkan secara default).sumber
Setelah serangan botnet besar-besaran pada tahun 2016 karena perangkat IoT mudah diretas dengan kata sandi default, Raspbian sekali lagi hadir dengan SSH dimatikan secara default ( sumber ).
Cara mengatasinya cukup mudah, Anda hanya perlu membuat file di
boot
partisi (bukan direktori di dalam sistem file root) yang disebutssh
. Untuk memeriksa apakah Anda berada di partisi yang benar, itu harus memiliki file bernamastart.elf
.Jangan lupa untuk mengubah kata sandi Anda setelah!
Untuk menemukan Pi saya di jaringan saya yang saya gunakan
sudo arp-scan -l
, meskipunsudo nmap -sS --open -O 192.168.1.0/24
juga merupakan opsi yang valid, tetapi lebih lambat.sumber
Menggunakan gambar beta Debian 7 (Wheezy), SSH diinstal dan diaktifkan secara default. Anda hanya perlu menghubungkannya melalui alamat IP-nya.
Ada beberapa cara untuk mengetahui alamat IP Raspberry Pi yang aktif tanpa harus menjalankannya
ifconfig
secara langsung, misalnya:sumber
Cara mudah (jika Anda hanya memiliki keyboard)
SSH tidak diaktifkan secara default di Debian Wheezy (Raspbian).Sekali waktu, SSH jelas tidak diaktifkan pada gambar Raspbian saya. Rupanya SSH diaktifkan secara default sekarang. Tetapi jika tidak dan Anda macet, baca terus:Mengaktifkannya sangat sederhana, jauh lebih sederhana daripada sebagian besar jawaban yang saya lihat di sini, jika Anda memiliki keyboard USB:
Aktifkan SSH dengan:
Ketikkan kata sandi "raspberry" lagi untuk berjaga-jaga, karena ini adalah
sudo
perintah, dan tekan Enter.Sekarang Anda seharusnya bisa melakukan remote ke RPi Anda dengan alamat IP-nya di jaringan Anda.
Seperti yang disebutkan oleh Denis Mitropolskiy , utilitas konfigurasi memudahkan mengkonfigurasi SSH pada titik ini:
Buka saja opsi "ssh". Untungnya, ini berfungsi dalam sesi SSH, jadi satu-satunya perintah yang Anda perlukan untuk menjalankan "secara membabi buta" adalah yang pertama di atas.
sumber
Tidak dapat mengatakan apakah SSH berfungsi atau tidak, tetapi versi utilitas konfigurasi terbaru memiliki perintah "Aktifkan SSH". Setelah itu saya dapat terhubung ke Raspberry saya melalui jaringan. Tetapi untuk mengaktifkannya Anda tetap membutuhkan monitor.
sumber
Satu peringatan: Dengan Arch Linux , ini bekerja hanya untuk saya jika saya memasang Ethernet sebelum mem-boot Raspberry Pi (dan kemudian berfungsi dengan baik: sshd diaktifkan secara default). Jika saya boot pertama kali, kemudian sambungkan kabel Ethernet, Raspberry Pi tidak pernah menghubungi server DHCP untuk mendapatkan alamat IP.
sumber
Tanpa router + tanpa layar + kabel Ethernet biasa + RPI 2 + Raspbian Lite 2018-11-13 + host 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:
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
ssh
file diboot/
partisi.Pada host Ubuntu, ia dipasang secara otomatis dan Anda dapat melakukannya:
yang dapat Anda konfirmasi dengan:
yang mengandung:
Jika Anda tidak mengaktifkan daemon SSHD pada Pi, maka koneksi SSH akan gagal dengan:
ketika kami mencobanya nanti.
Setelah mengaktifkan server SSH
Selanjutnya, boot Pi, dan hubungkan kabel Ethernet dari laptop Anda langsung ke Pi:
Di Ubuntu 17.04 untuk mengatasi bug ini sebagaimana disebutkan pada jawaban ini, Anda pertama-tama perlu:
Pada host, buka manajer jaringan:
Dan pergi:
+
tanda (Tambahkan koneksi baru)Temukan IP Pi pada host:
menghasilkan sesuatu seperti:
10.42.0.160
adalah IP, lalu seperti biasa:Saya juga memiliki yang berikut ini di
.bashrc
:Dari dalam Pi, perhatikan bahwa ia dapat mengakses internet secara normal melalui antarmuka host Anda yang lain:
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.txt
file yang ada di partisi pertama untuk menambahkan: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.txt
menjadi salah satunya. Partisi kedua berisi sistem file root Linux yang sebenarnya.Sekarang hubungkan komputer Anda ke Pi sebagai:
Anda hanya perlu memasang 3 kabel:
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:
Keluar dengan
Ctrl-A \
.Ini adalah video karya Adafruit yang memperlihatkannya: https://www.youtube.com/watch?v=zUBPeoLW16Q
sumber
Jika Anda menggunakan Debian, maka cukup mudah jika Anda dapat meminjamkan layar dan jaringan untuk RPi Anda hanya beberapa menit dari seorang teman. Jika tidak, Anda bisa saja menguji perintah untuk 'nmap' dan 'ssh' dari host Ubuntu Anda.
Periksa saja apakah paket openssh-server sudah diinstal, dan Anda sudah siap. Anda melakukannya dari baris perintah dengan
aptitude install openssh-server
. Anda juga dapat memeriksa atau mengganti nama RPi saat Anda masuk ke mesin. Anda juga dapat memeriksa paket ituavahi-utils
danavahi-daemon
sudah diinstal, coba sajaaptitude install avahi-utils
.Paket / program avahi akan mengimplementasikan Apples protocoll mDNS / DNS-SD yang akan mengumumkan dirinya ke komputer lain yang menggunakan protocoll itu sebagai komputer dalam domain DNS
local
. Jadi, jika mesin Anda dipanggilrpi-machine
, coba sambungkan ke mesin denganrpi-machine.local
.Anda dapat memeriksa file
/etc/nsswitch.conf
untuk melihat apakah Anda memiliki baris ini di sana:Baik mesin Apple dan Ubuntu Anda harus menerapkan ini. Mesin MS Windows 7 Anda tidak melakukannya. Di mesin Ubuntu Anda bisa mencoba perintah ini:
atau
Anda kemudian harus mendapatkan semua mesin Anda dan layanan mereka, seperti SSH dan HTTP terdaftar.
Anda juga dapat mencoba menginstal paket
nmap
di mesin Ubuntu Anda. Kemudian Anda dapat memeriksaip route list
jaringan mana yang Anda gunakan dengan perintah untuk melihat IP-net mana yang Anda gunakan. Misalnya di komputer saya, saya bisa mendapatkan sesuatu seperti ini (ini dari example.com, jadi jangan gunakan itu):memberitahu saya bahwa saya di internet
192.0.43.0/24
dan router192.0.43.1
. Jadi jika Anda menjalankan perintahnmap 192.0.43.0/24
akan mencoba menemukan semua mesin di internet Anda dan memberi tahu port mana yang terbuka. Cari port22/tcp
, karena itu adalah server ssh.sumber
Saya berhasil mengatur Raspberry PI saya tanpa Layar atau Keyboard menggunakan langkah-langkah berikut:
Unduh gambar terbaru dari debian-pi / raspbian-ua-netinst . Yang sekarang adalah
raspbian-ua-netinst-v1.0.7.img.bz2
. File yang diunduh hanya sekitar 17 MB.Unduh " Apple Pi Baker App " dan gunakan perangkat lunak ini untuk mentransfer gambar ke Kartu SD Anda
Masukkan Kartu SD ke PI Anda dan setelah kira-kira 15 Menit Raspbian terbaru akan diinstal.
Menggunakan Aplikasi iPhone Fing, saya menemukan IP PI, yang dalam kasus saya
192.168.1.13
.Sekarang saya bisa SSH ke IP itu seperti:
Dan Voila saya memiliki akses melalui SSH tanpa melakukan konfigurasi yang membosankan.
FYI:
raspbian-ua-netinst
menawarkan konfigurasi lebih lanjut, jadi periksa Readme jika Anda ingin menyesuaikan beberapa pengaturan awal tersebut.sumber
Salah satu cara terbaik untuk terhubung setelah konfigurasi awal adalah untuk mendapatkan avahi-daemon dan berjalan di Raspberry Pi.
Setelah Anda menginstal avahi-daemon pada Raspberry Pi dan Bonjour di komputer host, Anda cukup masuk menggunakan raspberrypi.local sebagai nama host. Jadi tidak perlu mengkonfigurasi alamat IP , baik statis atau dinamis.
Untuk menginstal avahi-daemon di Raspberry Pi:
Dan jika Anda memiliki iTunes yang diinstal pada komputer host, maka cukup masukkan raspberrypi.local di Putty , jika tidak instal Bonjour dari sini . Lihat tutorial ini untuk informasi lebih lanjut.
sumber
Anda mungkin ingin
raspbian-ua-netinst
mencobanya: Anda dapat menemukannya dengan mengklik di sini Ini adalah netinstaller tanpa pengawasan Raspbian minimal untuk Raspberry Pi Models 1B, 1B + dan 2B. Tidak diperlukan layar atau keyboard. Mereka memiliki manual instalasi yang sangat baik di InternetREADME.md
.Pada dasarnya, Anda hanya memformat FAT kartu SD. Unzip rilis stabil terbaru ke dalamnya dan masukkan SD-card ke Raspberry Pi Anda. Diperlukan sekitar 20 hingga 30 menit untuk menginstal instalasi Raspbian minimum dan kemudian Anda siap melakukannya. Dilengkapi dengan SSH yang terinstal secara default. Ada beberapa opsi yang memungkinkan Anda untuk menginstal paket dan barang tambahan selama instalasi awal. Anda juga dapat menambahkan paket nanti, tentu saja.
sumber
Untuk Raspbian, saya menemukan tutorial ini sangat berguna. Setelah melakukan langkah-langkah yang dijelaskan di dalamnya, saya dapat SSH dari laptop Windows 10 saya ke Raspberry PI saya dengan pengguna
pi
dan kata sandiraspberry
.Lebih khusus lagi, inilah bagian yang relevan:
sumber
Karena saya memiliki beberapa Pis lain yang bisa saya hubungkan, saya curang.
Saya mengeluarkan kartu Micro SD dari Pi yang tidak akan membiarkan saya terhubung, dan memasukkannya ke pembaca USB di salah satu Pis yang berfungsi.
Saya kemudian memasangnya ke folder uji (
sudo mount /dev/sda2 /mnt/test
), laluchroot /mnt/test
memperlakukannya sebagai shell baru.Saya kemudian mengaktifkan SSH dengan
systemctl enable ssh
. Mengambil kartu setelah melepasnya, mem-boot Pi, lalu port SSH dibuka dan dapat diakses.Bekerja pada Debian, saya yakin pada
systemd
sistem gaya lainnya juga.sumber