การใช้การตั้งค่าการรับรองความถูกต้องของรหัสผ่านและตรวจสอบลักษณะการทํางานของ SFTP บนไคลเอนต์และเซิร์ฟเวอร์
สภาพแวดล้อม
- Windows
-
- Windows 10 Pro
- Windows Server 2019
- Windows 7
- Windows Server 2012 R2
- OpenSSH
-
- 7.7p1
- 8.1p1 - Beta
* มันสามารถใช้ได้กับรุ่นอื่น ๆ แต่ยังไม่ได้ยืนยัน
เริ่มต้นใช้งาน
ส่วนนี้อธิบายขั้นตอนในการสื่อสารโดยใช้ SFTP ระหว่างไคลเอนต์และเซิร์ฟเวอร์ วิธีการรับรองความถูกต้องรวมถึงการรับรองความถูกต้องของรหัสผ่านที่ง่ายที่สุด
เตรียมตัวให้พร้อม
- ไคลเอ็นต์ OpenSSH ถูกติดตั้งบนไคลเอนต์
- เซิร์ฟเวอร์ OpenSSH ถูกติดตั้งบนเซิร์ฟเวอร์
เตรียมเซิร์ฟเวอร์ SFTP ที่ฝั่งเซิร์ฟเวอร์
เข้าสู่ระบบเซิร์ฟเวอร์ด้วยบัญชีที่มีสิทธิ์ของผู้ดูแลระบบ
สตาร์ทตัวเรือนพลังงาน
ป้อนคําสั่งต่อไปนี้: (สามารถเป็นคําสั่ง ssh ได้)
sftp localhost
คุณยังไม่ได้ตั้งค่าอะไรเพื่อให้คุณสามารถดูว่าไม่สามารถเชื่อมต่อได้
สร้างบัญชี SFTP
สร้างบัญชีที่จะเข้าสู่ระบบใน SFTP บัญชี Windows จะถือว่าเป็นบัญชีการเข้าสู่ระบบ SFTP
คลิกขวาที่เมนู Start แล้วเลือก จัดการคอมพิวเตอร์
ขยายผู้ใช้และกลุ่มภายใน คลิกขวาที่ผู้ใช้ แล้วเลือก ผู้ใช้ใหม่
ป้อนชื่อผู้ใช้และรหัสผ่าน ชื่อผู้ใช้คือชื่อผู้ใช้ที่เข้าสู่ระบบด้วย SFTP ไม่แยกความแตกต่างระหว่างตัวพิมพ์ใหญ่-เล็ก
คุณจะลงชื่อเข้าใช้ด้วยการตั้งค่าการรับรองความถูกต้องของคีย์สาธารณะ แต่ไม่จําเป็นต้องมีสิทธิ์ของผู้ดูแลระบบ สําหรับสภาพแวดล้อมระยะไกล ให้เพิ่มสิทธิ์สําหรับผู้ใช้เดสก์ท็อประยะไกล
พอร์ต SSH เปิดอยู่
เปิดพอร์ต 22 คุณสามารถใช้คําสั่งเพื่อทําเช่นนี้ แต่กําหนดค่าด้วย GUI ที่นี่ เลือกโฟลเดอร์ Windows จัดการ Tools ⇒ไฟร์วอลล์ Windows Defense ที่มีความปลอดภัยมากขึ้นจากเมนู เริ่ม
คลิกขวาที่ กฎขาเข้า แล้วเลือก กฎใหม่
เลือก พอร์ต แล้วเลือก ถัดไป
เลือก TCP และป้อน 22
เลือก อนุญาตการเชื่อมต่อ
เลือก โดเมน และ ส่วนตัว สําหรับเซิร์ฟเวอร์บนอินเทอร์เน็ต ให้เลือก สาธารณะ ตั้งค่าตามสภาพแวดล้อมของคุณ
ชื่อไม่สําคัญ แต่ตรวจสอบให้แน่ใจว่าการเปิดพอร์ตสําหรับ SSH (SFTP) เป็นชื่อที่เข้าใจง่าย
ถูกเพิ่มลงในรายการแล้ว
การตั้งค่าการเริ่มต้นบริการ SSH
คําสั่งยังสามารถตั้งค่าได้ แต่ที่นี่เราใช้ GUI เพื่อกําหนดค่า คลิกขวาที่เมนู Start แล้วเลือก จัดการคอมพิวเตอร์
⇒บริการและแอปพลิเคชัน ให้เลือก บริการ แล้วเลือก เซิร์ฟเวอร์ OpenSSH SSH จากรายการส่วนกลาง ลิงก์ "บริการเริ่มต้นระบบ" จะปรากฏขึ้นทางด้านซ้ายซึ่งจะเปิดเซิร์ฟเวอร์ SSH
ขณะนี้ SSH พร้อมใช้งาน แต่คุณต้องเริ่มต้นด้วยตนเองอีกครั้งเมื่อคุณเริ่มระบบ Windows ใหม่ ทําให้เซิร์ฟเวอร์ SSH เริ่มทํางานโดยอัตโนมัติ ดับเบิลคลิกที่ "เปิดเซิร์ฟเวอร์ SSH"
ตั้งค่าชนิดการเริ่มต้นเป็น อัตโนมัติ และคลิกปุ่ม ตกลง
การยืนยันการเข้าสู่ระบบ SSH
บริการเริ่มต้นแล้ว ให้ลองลงชื่อเข้าใช้ ที่พร้อมท์คําสั่ง หรือเริ่ม PowerShell และพิมพ์คําสั่งต่อไปนี้ (โปรดแทนที่ส่วน<>) (คําสั่ง ssh สามารถเป็นการตรวจสอบการเชื่อมต่อได้)
sftp <ユーザー名>@localhost
ป้อน "ใช่"
ป้อนรหัสผ่าน
จอแสดงผลมีการเปลี่ยนแปลงและคุณเข้าสู่ระบบแล้ว
ลองพิมพ์คําสั่ง "dir" เพื่อดูรายการโฟลเดอร์ (รหัสที่ยุ่งเหยิงเป็นบรรทัดฐาน)
ส่งหรือรับไฟล์ไปยังเซิร์ฟเวอร์โดยใช้ SFTP จากไคลเอนต์
เข้าสู่ระบบฝั่งพีซีของไคลเอ็นต์ สร้างโฟลเดอร์ C:\Temp และวางไฟล์ "ทดสอบ.txt" ที่ป้อนข้อความเพื่อดูการส่งและรับไฟล์ (ถ้าชื่อแฟ้มภาษาญี่ปุ่นมีข้อผิดพลาดในการส่งและรับ ให้เก็บอักขระตัวอักษรและตัวเลขไว้)
เริ่มพร้อมท์คําสั่งหรือตัวเรือนพลังงาน
เข้าสู่ระบบด้วย SFTP โดยใช้คําสั่งต่อไปนี้: (โปรดแทนที่ส่วน<>)
sftp <ユーザー名>@<サーバー名>
พิมพ์ "ใช่"
ป้อนรหัสผ่านและเข้าสู่ระบบ
คุณจะเห็นว่าคุณสามารถเข้าสู่ระบบโดยใช้คําสั่ง pwd หรือ dir
ส่งไฟล์โดยใช้คําสั่ง put
put c:\temp\test.txt
คุณสามารถตรวจสอบว่าไฟล์.txtถูกส่งโดยดูที่โฟลเดอร์ "C: \ผู้ใช้\มากที่สุด" ที่ฝั่งเซิร์ฟเวอร์
ลองรับจากไคลเอนต์
get test.txt c:\temp\test2.txt
ฉันสามารถยืนยันว่าฉันได้รับไฟล์
สรุป
เราสามารถตรวจสอบว่าเราสามารถส่งและรับไฟล์ในไคลเอนต์และเซิร์ฟเวอร์โดยใช้ SFTP เนื้อหาการสื่อสารยังได้รับการเข้ารหัสดังนั้นจึงไม่น่าจะถูกบล็อกโดยบุคคลที่สาม
อย่างไรก็ตาม เวลานี้ เราดําเนินการรับรองความถูกต้องด้วยรหัสผ่านเป็นวิธีการรับรองความถูกต้อง เพราะมันอ่อนแอเล็กน้อยในแง่ของการรักษาความปลอดภัย ครั้งต่อไปฉันต้องการหารือเกี่ยวกับการรับรองความถูกต้องของคีย์สาธารณะ