Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

การเข้าถึง Raspberry Pi ด้วย SSH แบบ Remote: คู่มือขั้นตอนละเอียด

นี่คือสรุปตัวเลือกสำหรับการเชื่อมต่อกับ Raspberry Pi ผ่าน SSH – จาก Linux, macOS และ Windows

เครือข่าย

เราจะสมมติว่าคุณมี Pi อยู่ในเครือข่ายของคุณ – แบบสายหรือไร้สาย

Static IP Address vs DHCP

Raspberry Pi ของคุณน่าจะถูกตั้งค่าให้รับที่อยู่ IP ผ่าน DHCP (Dynamic Host Configuration Protocol) ซึ่งหมายถึงไร้เตอร์มอบหมายที่อยู่ที่ว่างอยู่ให้ Pi เนื่องจากมอบหมายอัตโนมัติ คุณจึงไม่รู้ล่วงหน้าว่าจะเป็นอะไร

หากคุณตั้งค่า Raspberry Pi ด้วยที่อยู่ Static IP หรือ DHCP reservation บนไร้เตอร์ – ยินดีด้วย! คุณรู้ที่อยู่ IP ของมันแล้ว (เพราะคุณตั้งค่าเอง)

การหาที่อยู่ IP ของ Raspberry Pi

หาก Pi ของคุณตั้งค่าใช้ DHCP เพื่อรับ IP (นี่คือพฤติกรรมเริ่มต้น) คุณจะต้องหาว่ามันคืออะไร

มีหน้าจอและคีย์บอร์ดต่ออยู่

คุณต้องรู้ IP ของ Pi ในเครือข่ายเพื่อเชื่อมต่อ ให้พิมพ์:

hostname -l

…ลงใน Linux shell บน Pi ของคุณ ที่อยู่ IP จะถูกคืนค่า – จะคล้ายๆ 192.168.0.100 หรือ 10.1.0.100

ไม่มีหน้าจอ แต่มีการเชื่อมต่อเครือข่าย

หาก Raspberry Pi ไม่มีหน้าจอ/คีย์บอร์ดต่อ แต่เชื่อมต่อเครือข่าย คุณยังหา IP ที่ได้มอบหมายได้:

จากไร้เตอร์

หากคุณเข้าถึงไร้เตอร์และล็อกอินเข้าสู่หน้าจัดการได้ คุณสามารถตรวจสอบ DHCP table ซึ่งแสดงรายการที่อยู่ IP ที่มอบหมายพร้อมประเภทอุปกรณ์ – คุณจะหา Pi ได้ในรายการและบันทึก IP ของมัน

DHCP table บางครั้งแสดงภายใต้ client list หรือ connected devices หรือ wifi devices – ตรวจสอบคู่มือไร้เตอร์ของคุณเพื่อหาชื่อที่อุปกรณ์ของคุณใช้

หากคุณต้องการให้ Raspberry Pi ได้รับ IP เดียวกันจาก DHCP ทุกครั้งที่เชื่อมต่อ คุณสามารถบอกไร้เตอร์ให้ทำเช่นนั้นด้วย DHCP Reservation – คู่มือไร้เตอร์จะบอกวิธีการ หากจองที่อยู่สำหรับ Pi คุณจะไม่ต้องตรวจสอบที่อยู่ทุกครั้งที่ต้องการเชื่อมต่อ

Multicast DNS

หากเครือข่ายของคุณรองรับ mDNS คุณสามารถเชื่อมต่อกับ Pi ที่ที่อยู่ raspberrypi.local แทนที่จะใช้ IP address เพื่อตรวจสอบว่ามีอยู่ที่นี่ ให้พิมพ์:

ping raspberrypi.local

ลงในเทอร์มินัลหรือ command prompt หาก Pi เข้าถึงได้ที่ raspberrypi.local คุณจะเห็นข้อความสำเร็จ – หรือ error หากไม่ได้

raspberrypi.local เป็น hostname เริ่มต้นของ Raspberry Pi ที่รัน Raspberry Pi OS – หากคุณตั้งค่าเป็นอย่างอื่น (เช่นตอนติดตั้ง Ubuntu MATE คุณสามารถระบุ hostname เองได้) – คุณจะต้องใช้ hostname นั้นแทน

ใช้เครื่องมือสแกนเครือข่าย

หากคุณมีอุปกรณ์ Android หรือ iOS อยู่มือ คุณสามารถใช้แอป Fing ฟรี สแกนเครือข่ายเพื่อรับรายการอุปกรณ์และที่อยู่ IP

เปิดใช้งาน SSH บน Raspberry Pi OS

บน Raspberry Pi ของคุณ พร้อมคีย์บอร์ดและหน้าจอ เข้าสู่ระบบและรันคำสั่งต่อไปนี้:

sudo raspi-config

จากนั้นไปที่ตัวเลือกเมนู:

Interface Options -> SSH

และเปิดใช้งาน SSH access

การเชื่อมต่อผ่าน SSH

Linux

SSH มาพร้อมกับทุก Linux distribution สมัยใหม่เกือบทุกตัว คุณไม่ต้องกังวลเรื่องการติดตั้ง เพียงเปิดเทอร์มินัลและพิมพ์:

ssh admin@wsxdn.com

โดยที่:

  • pi คือ username ที่ต้องการเชื่อมต่อ
  • 192.168.0.100 คือที่อยู่ IP ของ Raspberry Pi ของคุณ

Windows

ไม่ใช่ทุกเวอร์ชันของ Windows ที่มี SSH client ในตัว เราจะใช้โปรแกรมชื่อ PuTTY เพื่อเชื่อมต่อ:

ดาวน์โหลดจาก https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

หลังดาวน์โหลด เปิด PuTTY และพิมพ์

admin@wsxdn.com

ในฟิลด์ Host Name (or IP address) และคลิก Open

Mac

การเชื่อมต่อบน macOS เหมือนกับ Linux ทุกประการ ดูด้านบน

iOS / Android

https://termius.com มีเครื่องมือ SSH ข้ามแพลตฟอร์มสำหรับมือถือ – ต้องสมัครสมาชิก แต่มีเอกสารประกอบมากมายสำหรับตั้งค่าและใช้งานเพื่อเชื่อมต่ออุปกรณ์ผ่าน SSH จาก iOS และ Android

สรุป

เมื่อเชื่อมต่อกับ Raspberry Pi ผ่าน SSH แล้ว คุณสามารถถอดหน้าจอและคีย์บอร์ดออก และใช้แบบ 'headless' หมายความว่าหากคุณใช้ Pi เป็นเว็บเซิร์ฟเวอร์ ระบบกล้อง CCTV หรือสตรีมเพลง คุณสามารถประหยัดพื้นที่โดยวางมันไว้ที่ไหนก็ได้ที่ไม่เด่นชัด

ระหว่างเชื่อมต่อผ่าน SSH คุณสามารถทำอะไรก็ได้ที่ปกติคุณจะทำหากควบคุม Pi โดยตรง จึงช่วยประหยัดการถอดเสียบหน้าจอจากเดสก์ท็อปไปเรื่อยๆ – คุณสามารถทำหลายอย่างพร้อมกันได้!