สารบัญ:

การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต: 3 ขั้นตอน
การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต: 3 ขั้นตอน

วีดีโอ: การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต: 3 ขั้นตอน

วีดีโอ: การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต: 3 ขั้นตอน
วีดีโอ: DNS Server แบบขอสั้นๆ 2024, พฤศจิกายน
Anonim
การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต
การเชื่อมต่อ SSH / SCP ที่ปลอดภัยจาก Raspberry Pi ไปยัง Cloud Server สำหรับการสำรองข้อมูลและการอัปเดต

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

(คำเตือน - อย่าพยายามทำเช่นนี้หากคุณไม่มีความสามารถในการกำหนดค่าสิทธิ์ของ Linux ไม่เช่นนั้นคุณจะทำให้ระบบของคุณเสี่ยงต่อการถูกโจมตีโดยแฮกเกอร์มากขึ้น)

ความต้องการ

1. Raspberry Pi พร้อมอินเทอร์เฟซบรรทัดคำสั่ง (CLI) ดังที่คุณเห็นใน Putty

2. เข้าถึงเซิร์ฟเวอร์คลาวด์ระยะไกลที่โฮสต์โดย OVH หรือ DigitalOcean ด้วย CLI

3. แล็ปท็อปหรือพีซีที่ใช้ Windows ที่ติดตั้ง Putty และ PuttyGen

สมมติฐาน

1. คุณมีความรู้เกี่ยวกับคำสั่ง Linux บ้าง

2. คุณสามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลของคุณโดยใช้กระบวนการแบบธรรมดาเช่น เอฟทีที

3. คุณจะต้องติดตั้ง PuttyGen ไว้ล่วงหน้าบนพีซี Windows ของคุณ

ขั้นตอน

โดยสรุป - ดูรูปที่ 1

a) บนพีซี Windows ของคุณ ให้สร้างไฟล์ PPK ส่วนตัวโดยใช้ PuttyGen

b) บนพีซี Windows ของคุณ ให้สร้างไฟล์ PPK สาธารณะโดยใช้ PuttyGen (ซึ่งจะทำโดยอัตโนมัติในขั้นตอนที่ a)

b) บนพีซี Windows ของคุณ ให้คัดลอกกุญแจสาธารณะจากพีซี Windows ของคุณไปยังเซิร์ฟเวอร์คลาวด์ระยะไกล

d) บนพีซี Windows ของคุณ ให้แปลงไฟล์ PPK ส่วนตัวเป็นคีย์ OpenSSH โดยใช้ PuttyGen

e) คัดลอกคีย์ OpenSSH จากพีซี Windows ของคุณไปยัง Raspberry Pi

f) ทดสอบการเข้าถึงและการถ่ายโอนไฟล์จาก Raspberry Pi ไปยังเซิร์ฟเวอร์ระยะไกลของคุณ

ขั้นตอนที่ 1: A) สร้างไฟล์ PPK ส่วนตัว B) สร้างกุญแจสาธารณะและ C) คัดลอกไปยังเซิร์ฟเวอร์ระยะไกล

A) สร้างไฟล์ PPK ส่วนตัว B) สร้างกุญแจสาธารณะและ C) คัดลอกไปยังเซิร์ฟเวอร์ระยะไกล
A) สร้างไฟล์ PPK ส่วนตัว B) สร้างกุญแจสาธารณะและ C) คัดลอกไปยังเซิร์ฟเวอร์ระยะไกล
A) สร้างไฟล์ PPK ส่วนตัว B) สร้างกุญแจสาธารณะและ C) คัดลอกไปยังเซิร์ฟเวอร์ระยะไกล
A) สร้างไฟล์ PPK ส่วนตัว B) สร้างกุญแจสาธารณะและ C) คัดลอกไปยังเซิร์ฟเวอร์ระยะไกล

ในการสร้างไฟล์ PPK ส่วนตัว ให้เปิด PuttyGen บนพีซี Windows ของคุณ คุณสามารถเข้าถึง PuttyGen ได้โดยคลิกขวาที่ไอคอนสีโป๊วบนทาสก์บาร์ของ Windows จากเมนู PuttyGen เลือกคีย์ จากนั้นสร้างคู่คีย์ เลือกตัวเลือกคีย์ SSH2 -RSA คุณจะได้รับแจ้งให้ตั้งข้อความรหัสผ่านเมื่อคุณสร้างคีย์ส่วนตัว และหากคุณตั้งค่าข้อความรหัสผ่าน คุณจะถูกถามถึงรหัสผ่านนี้ในระหว่างการทำงานในอนาคต บันทึกคีย์ส่วนตัวไว้ที่ใดที่หนึ่งอย่างปลอดภัยบนพีซี Windows ของคุณ จากนั้นคุณจะเห็นกุญแจสาธารณะในบานหน้าต่างดังแสดงในรูปที่ 2

ต่อไป มาถ่ายโอนคีย์สาธารณะไปยังเซิร์ฟเวอร์คลาวด์ระยะไกลกัน เปิดเซสชัน Putty ไปยังเซิร์ฟเวอร์คลาวด์ระยะไกลโดยใช้ Putty สมมติว่าคุณเข้าสู่ระบบในฐานะผู้ใช้ระยะไกล 1 จากนั้นทำสิ่งต่อไปนี้บนเซิร์ฟเวอร์คลาวด์ระยะไกล CLI

cd /home/remoteuser1 (ถ้ายังไม่มี) mkdir.ssh

nano.ssh/authorized_keys (คุณจะเห็นหน้าจอว่าง - วางกุญแจสาธารณะที่แสดงในรูปที่ 2 จากนั้นบันทึกและปิดไฟล์นี้)

chmod 0700.ssh

chmod 0600 /home/remoteuser1/.ssh/authorized_keys

ขั้นตอนที่ 2: D) แปลงไฟล์ PPK ส่วนตัวเป็นคีย์ OpenSSH และ E) คัดลอกไปยัง Raspberry Pi

ในการแปลงคีย์ส่วนตัวเป็น OpenSSH ให้เปิด PuttyGen แล้วเปิดคีย์ส่วนตัวที่คุณสร้างไว้ก่อนหน้านี้ - ไปที่ตัวเลือกการแปลงในเมนู จากนั้นเลือกส่งออกคีย์ OpenSSH - โปรดตรวจสอบให้แน่ใจว่าไฟล์ที่คุณสร้างมีประเภทไฟล์.key บันทึกไว้ที่ใดที่หนึ่งอย่างปลอดภัย จากนั้นเปิดเซสชัน putty เพื่อเข้าสู่ระบบ Raspberry Pi ของคุณ คัดลอกไฟล์คีย์ไปยังโฮมไดเร็กทอรีบน Raspberry Pi ของบัญชีผู้ใช้ที่คุณใช้เพื่อเข้าสู่ระบบ Raspberry Pi สมมติว่ารหัสเรียกว่า pitobot.key จากนั้นทำตามขั้นตอนเหล่านี้:

cd /home/pi

sudo mv pitobot.key /home/pi/

sudo chmod 600 pitobot.key

ตอนนี้คุณพร้อมที่จะทดสอบว่าการติดตั้งของคุณสำเร็จหรือไม่ - อีกครั้ง ทำได้จาก Pi โปรดจำไว้ว่า remoteuser1 เป็นบัญชีบนเซิร์ฟเวอร์คลาวด์ระยะไกลซึ่งมีไดเรกทอรีหลักที่คุณบันทึกคีย์สาธารณะ และ ipaddress คือ ipaddress ของเซิร์ฟเวอร์คลาวด์ระยะไกล

ก่อนอื่นจาก Raspberry Pi ให้ล็อกออนเข้าสู่เซิร์ฟเวอร์คลาวด์ระยะไกลโดยใช้ Putty พิมพ์คำสั่งต่อไปนี้บน Raspberry PI CLI (หากคุณตั้งข้อความรหัสผ่านเมื่อคุณสร้างคีย์ส่วนตัว ระบบจะถามคุณตอนนี้)

sudo ssh -i /home/pi/pitobot.key remoteuser1@ipaddress

สิ่งนี้จะนำคุณเข้าสู่ CLI ของเซิร์ฟเวอร์คลาวด์ระยะไกลบนโฮมไดเร็กทอรีของ remoteuser1 โดยการพิมพ์ 'exit; คุณจะกลับไปที่ CLI ของ Raspberry Pi

ถัดไป ให้ลองถ่ายโอนไฟล์จากเซิร์ฟเวอร์คลาวด์ระยะไกลไปยัง Raspberry Pi ใช้คำสั่งต่อไปนี้: (อีกครั้ง หากคุณตั้งค่าข้อความรหัสผ่านเมื่อคุณสร้างคีย์ส่วนตัว คุณจะถูกถามถึงตอนนี้)

sudo scp -i /home/pi/pitobot.key remoteuser1@ipaddress://var/www/html/*.* /home/pi/

สิ่งนี้จะถ่ายโอนไฟล์ทั้งหมดจากโฟลเดอร์ /var/www/html/ บนเซิร์ฟเวอร์ระยะไกลไปยังโฟลเดอร์ /home/pi/ บน Raspberry Pi ของคุณ (โคลอนมีความสำคัญมาก) คุณสามารถเปลี่ยนลำดับของคำสั่งและถ่ายโอนไฟล์จาก Pi ไปยังเซิร์ฟเวอร์ระยะไกลได้

ขั้นตอนที่ 3: ข้อควรพิจารณาด้านความปลอดภัย

แม้ว่าวิธีการจับคู่คีย์ SSH จะช่วยเพิ่มความปลอดภัย ให้พิจารณาสิ่งต่อไปนี้:

1. เมื่อเปิดใช้งานคู่คีย์ SSH คุณควรพิจารณาลบความสามารถสำหรับผู้ใช้ในการเข้าสู่ระบบโดยตรงไปยังเซิร์ฟเวอร์ระยะไกล (คุณยังสามารถเข้าถึงเซิร์ฟเวอร์ของคุณโดยใช้คู่คีย์ Putty บน Windows โดยใช้คู่คีย์เดียวกัน และคุณยังสามารถพิจารณาปิดการใช้งาน เข้าสู่ระบบ Pi ของคุณด้วย) ระวังถ้าคุณเลือกที่จะทำเช่นนี้และไม่ใช้วิธีบิ๊กแบง ในการดำเนินการนี้ คุณต้องปิดใช้งานการกำหนดค่าบางอย่างในไฟล์การกำหนดค่า ssh ระวังให้มากการทำเช่นนี้ คำสั่งคือ

นาโน /etc/ssh/sshd_config

และภายในไฟล์ให้ทำการเปลี่ยนแปลงดังต่อไปนี้

รหัสรับรองความถูกต้องของรหัสผ่าน

ใช้PAM no

บันทึก ออกแล้วรีสตาร์ท SSH โดย systemctl restart ssh (นี่สำหรับ Debian อาจแตกต่างกันใน Linux distros ที่แตกต่างกัน)

2) รักษาคีย์ทั้งหมดของคุณให้ปลอดภัย ไม่เช่นนั้นคุณอาจเสี่ยงต่อการถูกละเมิดข้อมูลหรือไม่สามารถเข้าถึงเซิร์ฟเวอร์ของคุณได้ ฉันแนะนำให้เก็บไว้ในห้องนิรภัยที่ปลอดภัย เช่น bitwarden.com และจำกัดการเข้าถึงผ่านนโยบายการควบคุมการเข้าถึงของคุณ

3) การใช้ข้อความรหัสผ่านช่วยเพิ่มความปลอดภัย แต่สามารถทำให้งาน cron ทำงานอัตโนมัติ ฯลฯ ยากขึ้น การตัดสินใจใช้คุณลักษณะนี้และคุณลักษณะอื่นๆ ควรกำหนดโดยการประเมินความเสี่ยง เช่น หากคุณกำลังประมวลผลข้อมูลส่วนบุคคล คุณจำเป็นต้องควบคุมที่มากขึ้น/ตามสัดส่วน

แนะนำ: