แก้ไข 1/1/2019: เนื่องจากคำตอบนี้ยังคงได้รับความนิยมจะรวมการเปลี่ยนแปลงตามความคิดเห็นของ bigjosh ประมาณเดือนเมษายน 2017 Raspbian ได้แนะนำการเปลี่ยนแปลงด้านความปลอดภัยซึ่งจะไม่เริ่มต้นเซิร์ฟเวอร์ SSH อีกต่อไปตามค่าเริ่มต้น (ดูโพสต์บล็อกนี้ ) หากต้องการเปิดใช้งานเซิร์ฟเวอร์ SSH เมื่อบู๊ตเครื่องให้สร้างไฟล์ที่มีชื่อssh
อยู่ในพาร์ติชันสำหรับบูตของการ์ด SD ของ Pi ก่อนที่จะลองทำตามคำแนะนำเหล่านี้
การใช้ Macbook Pro (แล็ปท็อป / เดสก์ท็อปที่ทันสมัยใด ๆ ), Pi และการ์ด SD ที่สะอาดและไม่มีการบูตด้วย Raspbian ในนั้นนี่คือสิ่งที่ฉันทำ:
ในการบู๊ตครั้งแรก Pi จะเริ่มต้นเซิร์ฟเวอร์ SSH ที่มีอยู่บนพอร์ตอีเธอร์เน็ต แต่ก็ไม่สามารถเข้าถึงได้ถ้า Pi ไม่มีที่อยู่ IP โดยค่าเริ่มต้นมันไม่ได้ มันจะเปิดใช้งานไคลเอนต์ DHCP เพื่อติดต่อเราเตอร์สำหรับ IP การเสียบอีเธอร์เน็ตจาก Pi เข้ากับคอมพิวเตอร์จะทำให้ Pi ขอ IP คอมพิวเตอร์ของผู้บริโภคไม่ตอบสนองต่อการสอบถามนี้ ขั้นตอนแรกคือการเปิดใช้งานเซิร์ฟเวอร์ DHCP บนคอมพิวเตอร์ สำหรับการตั้งค่าของฉันฉันใช้ dnsmasq ติดตั้งในเครื่องเสมือน Debian ที่ฉันสร้างขึ้นสำหรับโครงการอื่น ไม่จำเป็นต้องใช้ VM เนื่องจาก dnsmasq จะทำงานได้ดีบน Mac (ติดตั้งได้จาก MacPorts หรือแหล่งที่มา) หรือคอมพิวเตอร์ Linux โดยกำเนิด ฉันเชื่อว่ามีเซิร์ฟเวอร์ DHCP บางตัวที่ทำงานบน Windows แต่ฉันไม่แน่ใจ คุณสามารถเสียบ Pi เข้ากับเราเตอร์ไร้สายที่มีเอฟเฟกต์เดียวกันได้
เมื่อเซิร์ฟเวอร์ DHCP ทำงานอยู่ให้เชื่อมต่อ Pi เข้ากับอีเธอร์เน็ตของคอมพิวเตอร์แล้วเปิดเครื่อง ในล็อกไฟล์ / คอนโซลเอาต์พุตคุณควรเห็นสิ่งต่อไปนี้:
dnsmasq-dhcp[2358]: DHCPREQUEST(eth2) 10.79.26.137 ac:87:xx:xx:xx:xx
dnsmasq-dhcp[2358]: DHCPACK(eth2) 10.79.26.137 ac:87:xx:xx:xx:xx Maxwell
dnsmasq-dhcp[2358]: DHCPDISCOVER(eth2) b8:27:xx:xx:xx:xx
dnsmasq-dhcp[2358]: DHCPOFFER(eth2) 10.79.26.148 b8:27:xx:xx:xx:xx
dnsmasq-dhcp[2358]: DHCPREQUEST(eth2) 10.79.26.148 b8:27:xx:xx:xx:xx
dnsmasq-dhcp[2358]: DHCPACK(eth2) 10.79.26.148 b8:27:xx:xx:xx:xx raspberrypi
คำอธิบายและสิ่งที่เรากำลังมองหาที่นี่: สองบรรทัดแรกคือแล็ปท็อปของฉัน (Maxwell) เชื่อมต่อกับเซิร์ฟเวอร์ DHCP เนื่องจากแล็ปท็อปรู้จักเซิร์ฟเวอร์ DHCP จึงขอ IP ที่เคยมีมาในอดีต: 10.37.27.137 สิ่งนี้สามารถยืนยันได้โดยดูที่การตั้งค่าเครือข่ายของคอมพิวเตอร์ของคุณ (สำหรับฉันมันแสดงในการตั้งค่าระบบ / เครือข่ายใน OS X) จากนั้นเซิร์ฟเวอร์ DHCP ให้คอมพิวเตอร์ของฉันเป็น IP ที่ร้องขอเนื่องจากไม่ใช่ข้อขัดแย้ง ( DHCPACK
, dhcp-ack [nowledgement]) สามสี่ถัดไปเกี่ยวข้องกับ Pi: ก่อนอื่นจะส่ง a DHCPDISCOVER
เพื่อค้นหาเซิร์ฟเวอร์ DHCP ใด ๆ (ถ้ามี) Dnsmasq จะเสนอ IP ใหม่ให้ Pi ยอมรับมัน ( DHCPREQUEST
) จากนั้นเซิร์ฟเวอร์ยืนยัน IP ในฐานข้อมูลและให้ IP จริงกับ Pi ฉันรู้ว่าฉันพบรายการที่ถูกต้องเพราะชื่อโฮสต์สุดท้ายอยู่ในรายการDHCPACK
คือ "raspberrypi" จดบันทึกที่อยู่ IP ที่เซิร์ฟเวอร์ DHCP มอบ Pi (ของฉันคือ 10.79.26.148)
หากคุณเชื่อมต่อ Pi กับเราเตอร์แทนคอมพิวเตอร์ให้ดูในเว็บอินเตอร์เฟสของเราเตอร์เพื่อดูรายการไคลเอ็นต์ DHCP หรือรายการคอมพิวเตอร์ที่เชื่อมต่อกับเครือข่าย เราเตอร์ส่วนใหญ่มีสิ่งนี้ที่ใดที่หนึ่งแม้ว่าพวกเขาจะไม่เรียกมันว่าเป็นสิ่งเดียวกันก็ตาม ค้นหาคอมพิวเตอร์ที่ชื่อ "raspberrypi" และจดบันทึกที่อยู่ IP ของคอมพิวเตอร์
เมื่อคุณมี IP สำหรับ Pi คุณสามารถเชื่อมต่อกับไคลเอนต์ SSH ที่คุณเลือก สำหรับ Mac / Linux / UNIX คุณก็สามารถเปิด terminal และชนิดssh pi@IP_ADDRESS
ที่IP_ADDRESS
เป็นทรัพย์สินทางปัญญาของพี่ของคุณว่าคุณจะพบก่อนหน้านี้ ผู้ใช้ Windows สามารถใช้ Cygwin, MobaXterm หรือ PuTTY หากคุณมีสิทธิ์ IP คุณควรเห็นสิ่งนี้:
$ ssh pi@raspberrypi
The authenticity of host 'raspberrypi (10.79.26.148)' can't be established.
ECDSA key fingerprint is 6c:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'raspberrypi,10.79.26.148' (ECDSA) to the list of known hosts.
pi@raspberrypi's password:
เนื่องจากฉันไม่ได้เชื่อมต่อกับ Pi มาก่อนฉันจึงต้องยอมรับคีย์ ECDSA เพื่อดำเนินการต่อ raspberry
รหัสผ่านเริ่มต้นตามที่ระบุไว้ในคำตอบก่อนหน้านี้และในเอกสารอย่างเป็นทางการคือ ตอนนี้เราเข้าสู่ Raspbian ผ่าน SSH แล้วและสามารถทำสิ่งต่างๆได้ คุณควรเห็นสิ่งนี้ในคอนโซล SSH:
Linux raspberrypi 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'
pi@raspberrypi ~ $
ตอนนี้ตามพรอมต์ MOTD คุณจะต้องเรียกใช้sudo raspi-config
ซึ่งจะนำคุณไปสู่หน้าต่างการกำหนดค่าเดียวกันกับที่คุณเห็นถ้าคุณบูทด้วย HDMI เหนือสิ่งอื่นใดที่นี่คุณควรเปิดใช้งานเซิร์ฟเวอร์ SSH หลังจากกำหนดค่าคุณสามารถใช้การตั้งค่าเดียวกันนี้เพื่อเชื่อมต่อกับ Pi ผ่าน ssh อีกครั้งหลังจากรีบูต
แหล่งที่มา: ประสบการณ์ของฉันเอง