สารบัญ:

การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2: 5 ขั้นตอน
การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2: 5 ขั้นตอน

วีดีโอ: การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2: 5 ขั้นตอน

วีดีโอ: การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2: 5 ขั้นตอน
วีดีโอ: Raspberry Pi 101 EP.6: ใช้งาน Raspberry Pi เป็นเซิฟเวอร์ ต้องทำอย่างไรบ้าง? 2024, กรกฎาคม
Anonim
การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2
การเข้าถึง SSH ระยะไกลไปยัง Raspberry Pi 2

เคยต้องการที่จะปรับใช้ Raspberry Pi "ในสนาม" และยังสามารถเข้าถึงได้หรือไม่?

นี่เป็นวิธีง่ายๆ ในการเปิดใช้งานการเข้าถึง SSH ระยะไกลกับ Raspberry Pi 2 ของคุณ (และรุ่นอื่นๆ ด้วย) แม้ว่าจะมีวิธีแก้ปัญหาเกี่ยวกับ VPN หรือการกำหนดค่าการส่งต่อพอร์ตที่ไฟร์วอลล์ในเครื่อง แต่มักจะจัดการได้ยากสำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญ

บริการรีเลย์รุ่นใหม่รวมถึง My-Devices.net, Pagekite.net และ Yaler.net พยายามแก้ไขปัญหานี้ ที่นี่เราใช้บริการส่งต่อของ Yaler (การเปิดเผยข้อมูล: ฉันเป็นผู้ก่อตั้ง) เพื่อให้การเข้าถึง SSH จากทุกที่ไปยัง Raspberry Pi 2

วัสดุ

- Raspberry Pi 2 (หรือรุ่นใดก็ได้) เช่น

- สาย USB, A/Micro B, e.g.

- การ์ด Micro SD 4 GB เช่น

- สายเคเบิลอีเธอร์เน็ต เช่น

ยังจำเป็น

- คอมพิวเตอร์ตั้งโต๊ะหรือโน้ตบุ๊ก

- เครือข่ายท้องถิ่นด้วย DHCP

(หมายเหตุ: ขั้นตอนที่ 3-5 ตามบทช่วยสอน CC BY-SA Yaler ขั้นตอนที่ 1 และ 2 ให้คุณเริ่มต้นจากศูนย์)

ขั้นตอนที่ 1: ติดตั้ง Raspbian

(หากคุณใช้งาน Raspbian แล้ว ให้ข้ามขั้นตอนนี้)

ดาวน์โหลดภาพ

ลองใช้ภาพ Raspbian Jessie (Lite) ที่มี sshd ทำงานเป็นค่าเริ่มต้น นั่นเป็นข้อดีสำหรับการตั้งค่า "หัวขาด" โดยไม่ต้องใช้จอแสดงผล เมาส์ หรือแป้นพิมพ์

- รับภาพ Raspbian ล่าสุดจาก https://www.raspberrypi.org/downloads/ หรือใช้ลิงก์โดยตรงนี้

- เปิดเครื่องรูด ZIP รูปภาพเพื่อรับไฟล์ภาพ IMG

เตรียมการ์ด SD บน Mac OSX

มีหลายวิธีในการเตรียมการ์ด SD บน Mac นี่คือสิ่งที่ฉันชอบ:

- รับเครื่องมือ PiFiller จาก https://ivanx.com/raspberrypi/ หรือใช้ลิงก์โดยตรงนี้

- เริ่ม PiFiller และเลือกไฟล์ภาพ IMG ที่ดาวน์โหลดด้านบน

เตรียมการ์ด SD บน Windows

- รับ Win32 Disk Imager จาก

- เริ่มเครื่องมือและเลือก IMG ที่ดาวน์โหลดด้านบน (ตรวจสอบไดรฟ์อีกครั้ง)

เตรียมการ์ด SD บน Linux

- ทำตามขั้นตอนใน

ใช้การ์ด SD

- ใส่การ์ด SD ลงใน Raspberry Pi 2

- เชื่อมต่อสายเคเบิลอีเธอร์เน็ตกับเครือข่ายท้องถิ่นของคุณ

- ต่อสาย USB เพื่อเปิดเครื่องและรอ…

เสร็จแล้ว. หลังจากนั้นไม่กี่นาที Raspbian ควรจะขึ้น

ขั้นตอนที่ 2: ค้นหา Raspberry Pi 2 ในเครือข่ายท้องถิ่นของคุณ

(หาก Raspberry Pi 2 มีจอแสดงผล เมาส์ และคีย์บอร์ด ให้ข้ามขั้นตอนนี้)

Raspi ของฉันอยู่ที่ไหน

เมื่อติดตั้ง Raspbian และ Raspberry Pi 2 เชื่อมต่อกับเครือข่ายท้องถิ่นแล้ว ควรรับที่อยู่ IP โดยอัตโนมัติด้วย DHCP และเริ่มทำงาน sshd ซึ่งจะรับฟังการเชื่อมต่อ SSH ขาเข้าบนพอร์ต 22 แต่ IP คืออะไร

มาดูกันเลย

วิธีหนึ่งในการค้นหาที่อยู่ IP ในเครื่องของ Raspberry Pi 2 (และอุปกรณ์อื่นๆ) คือการใช้เครื่องมือบรรทัดคำสั่ง nmap

- รับ nmap จาก

- หากต้องการรับที่อยู่ IP ในเครื่องคอมพิวเตอร์ของคุณ ให้เปิดเทอร์มินัลแล้วพิมพ์

$ ifconfig

ทำให้เกิดบางอย่างเช่น en0: flags= … 192.168.0.7 netmask …

- เริ่มการสืบค้น nmap สำหรับพอร์ต 22 โดยใช้คำนำหน้าที่อยู่ IP ในเครื่องของคุณเช่น

$ nmap 192.168.0.0-255 -p22

- ตรวจสอบผลลัพธ์ (หากมีหลาย IP มักจะสูงสุด)

รับรองว่าเป็นของคุณ

- รับการเข้าถึง SSH ในพื้นที่ไปยัง Raspberry Pi 2 ด้วย ssh โดยใช้ IP ในพื้นที่เช่น

$ ssh [email protected]

- ป้อนรหัสผ่านโดยค่าเริ่มต้นคือราสเบอร์รี่

- เปลี่ยนรหัสผ่านโดยพิมพ์

$ passwd

เสร็จแล้ว? Raspberry Pi 2 ของคุณพร้อมที่จะเชื่อมต่อกับบริการรีเลย์แล้ว

ขั้นตอนที่ 3: ติดตั้ง YalerTunnel Daemon

ภาพรวม

YalerTunnel daemon เป็นซอฟต์แวร์ขนาดเล็กที่เราจะใส่ลงใน Raspi ของคุณเพื่อเชื่อมต่อบริการในพื้นที่ที่ทำงานบนอุปกรณ์กับบริการส่งต่อในระบบคลาวด์ แบบนี้:

บริการรีเลย์ <- Firewall Local SSH Service

รับโดเมนรีเลย์

อุปกรณ์ทุกชิ้นที่เชื่อมต่อกับบริการรีเลย์ต้องมีโดเมนรีเลย์

- รับบัญชีทดลองใช้ฟรีพร้อมโดเมนรีเลย์ที่

(หรือหากต้องการโฮสต์รีเลย์ของคุณเองสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ โปรดดูที่

ติดตั้ง YalerTunnel

มาสร้าง YalerTunnel daemon จากซอร์สกัน

- เปิดเปลือกบน Raspberry Pi 2 ของคุณและอัปเดต apt-get with

$ sudo apt-get update

- ดาวน์โหลดและติดตั้ง libssl ด้วย

$ sudo apt-get ติดตั้ง libssl-dev

- สร้างไดเร็กทอรี yalertunnel

$ mkdir yalertunnel

$ cd yalertunnel

- ดาวน์โหลด แตกไฟล์ และสร้างแหล่งที่มาของ YalerTunnel

$ wget

$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make

เสร็จแล้ว? แล้วมาเริ่มเดมอนกัน

ขั้นตอนที่ 4: เริ่ม YalerTunnel Daemon

เปิดใช้งานการเข้าถึง SSH ผ่าน Yaler

$ sudo apt-get ติดตั้ง runit

- สร้างไดเร็กทอรีบริการ yalertunnel-ssh

$ sudo mkdir /etc/service/yalertunnel-ssh

$ cd /etc/service/yalertunnel-ssh

- ดาวน์โหลดสคริปต์เรียกใช้ yalertunnel และทำให้สามารถเรียกใช้งานได้

$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run

$ sudo chmod a+x run

- ดาวน์โหลดสคริปต์เสร็จสิ้น yalertunnel และทำให้ปฏิบัติการได้

$ sudo wget

$ sudo chmod a+x เสร็จสิ้น

- เปิดสคริปต์การทำงานด้วย

$ sudo nano /etc/service/yalertunnel-ssh/run

- ตรวจสอบเส้นทาง (ค่าเริ่มต้น: /home/pi/yalertunnel) ตั้งค่าพอร์ตของบริการ SSH ในพื้นที่ (ค่าเริ่มต้น: 22) และตั้งค่าโดเมนรีเลย์ของคุณ

1 #!/bin/sh

⋮ 6 exec /home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:22 ลอง.yaler.io:80 RELAY_DOMAIN &1 | คนตัดไม้ -t yalertunnel-ssh

บันทึกการเปลี่ยนแปลงด้วย CTRL-X จากนั้น Y แล้ว RETURN อย่าเปลี่ยน IP ในเครื่อง (ค่าเริ่มต้น: 127.0.0.1) เว้นแต่บริการ SSH จะทำงานบนอุปกรณ์แยกต่างหากในเครือข่ายเดียวกัน

- รีบูต Raspberry Pi 2 ของคุณเพื่อเรียกใช้สคริปต์

$ sudo รีบูต

เสร็จแล้ว. ตอนนี้เรามาดูวิธีเข้าถึง Raspi กัน

ขั้นตอนที่ 5: เข้าถึง Raspberry Pi 2 ด้วยไคลเอ็นต์ SSH

การใช้สีโป๊วบน Windows

- ทำตามขั้นตอน

การใช้ ssh บน Mac หรือ Linux

คำสั่ง ssh ไม่รองรับ "HTTP CONNECT" ต่างจาก Putty ดังนั้นเราจึงต้องการ YalerTunnel ที่ด้านนี้ของรีเลย์ด้วย นี่คือลักษณะที่ปรากฏ:

ไคลเอนต์ SSH -> YalerTunnel ในโหมดไคลเอนต์ -> (ไฟร์วอลล์) -> บริการรีเลย์

ติดตั้ง YalerTunnel บน Mac หรือ Linux

- ตรวจสอบให้แน่ใจว่าติดตั้ง JDK6 (หรือใหม่กว่า) แล้ว

- ตรวจสอบให้แน่ใจว่าตัวแปรสภาพแวดล้อม PATH ของคุณมีไดเร็กทอรี bin ของ JDK

- รับซอร์ส YalerTunnel Java จาก

- แตกไฟล์ ZIP เปิดเทอร์มินัลแล้วสร้าง YalerTunnel ด้วย

$ javac YalerTunnel.java

เข้าถึง Raspberry Pi 2 จากระยะไกลด้วย SSH

- บนคอมพิวเตอร์ไคลเอนต์ของคุณ ในการเริ่ม YalerTunnel ในโหมดไคลเอนต์ ให้พิมพ์

$ java YalerTunnel ไคลเอนต์ localhost:10022 try.yaler.io:80 RELAY_DOMAIN

- ในเทอร์มินัลที่สอง บนคอมพิวเตอร์ไคลเอนต์ เข้าถึงอุปกรณ์ของคุณผ่าน YalerTunnel ในเครื่องด้วย ssh

$ ssh pi@localhost -p 10022 -o ServerAliveInterval=5

เสร็จแล้ว. ตอนนี้คุณควรมีสิทธิ์เข้าถึง SSH สำหรับ Raspberry Pi 2 ของคุณ

การแก้ไขปัญหา

หากไม่มีการเชื่อมต่อ

- ตรวจสอบให้แน่ใจว่าคุณใช้โดเมนรีเลย์ที่ถูกต้อง

- หากต้องการดูว่าบริการ YalerTunnel ทำงานบนอุปกรณ์ของคุณหรือไม่ ให้พิมพ์

$ ps aux | grep [y]aler

แค่นั้นแหละ. ขอบคุณที่อ่านจนจบ หากคุณมีคำถาม โปรดติดต่อ

แนะนำ: