
SFTP เป็นคำย่อของ Secure File Transfer Protocol เป็นการสื่อสารบนระบบ Internet ที่ออกมาเพื่อการรับส่ง File
ผู้ใช้ (User) ปกติจะไม่สามารถเชื่อมต่อกับเครื่อง Server ผ่าน SFTP ได้ ผู้ดูแลระบบที่เป็น System Admin จะต้องดำเนินการตั้งค่าให้กับผู้ใช้ก่อน ผู้ใช้จึงใช้งาน SFTP ได้
สิ่งที่จำเป็นต้องมี
- เครื่องคอมพิวเตอร์ระบบปฏิบัติการ CentOS 8 (Digital Ocean)
- โปรแกรม SFTP Client (WinSCP)
เพิ่มผู้ใช้งาน SFTP
- เชื่อมต่อไปที่เครื่อง Server ด้วย user ที่มีสิทธิ์ sudo หรือ root
ในบทความนี้ใช้ SSH Client ในการเชื่อมต่มไปที่
เครือง Server IP Address : 188.166.213.61 - ทำการ update ระบบปฏิบัติการ
$dnf update
เจอคำถามให้ตอบ Yes
รอระบบทำการ Update
อับเดทเสร็จเรียบร้อย - ออกจากระบบเพื่อ login ใหม่ด้วย sudo user เพื่อปกป้อง root user
ขั้นตอนการสร้าง Sudo User อยที่ Link นี้
คำสั่งออกจากระบบคือ$logout
หรือ$exit
Logout สำเร็จ - Login ด้วย Sudo User
- เพิ่ม user สำหรับ SFTP
$sudo adduser tmahachansftp
$sudo passwd tmahachansftp
- สร้าง Folder สำหรับ SFTP user นำ File มาวางได้
$sudo mkdir -p /var/sftp/uploads
$sudo chown root:root /var/sftp/
$sudo chown tmahachansftp:tmahachansftp /var/sftp/uploads
$sudo chmod 755 /var/sftp/
- แก้ไข File /etc/ssh/sshd_config
$sudo vi /etc/ssh/sshd_config
เพิ่มข้อความใหม่ต่อท้าย FileMatch User tmahachansftp
TAB ForceCommand internal-sftp
TAB PasswordAuthentication yes
TAB ChrootDirectory /var/sftp
TAB PermitTunnel no
TAB AllowAgentForwarding no
TAB AllowTcpForwarding no
TAB X11Forwarding no
:wq
- รีสตาร์ท sshd
$sudo systemctl restart sshd
- ทดสอบ SFTP user
$sftp tmahachan@
188.166.213.61
ทดสอบ login ด้วย SFTP Client กับโปรแกรม WinSCP
- เปิดโปรแกรม WinSCP
- กดปุ่ม New Session จากนั้นกดปุ่ม New site เพื่อใส่ข้อมูล SFTP Server
- กรอกข้อมูลในช่อง
File protocol: SFTP
Host name: 188.166.213.61
Port number: 22
User name: tmahachansftp
Password: **********
จากนั้นกดปุ่ม Save
กดปุ่ม Save แล้วกดปุ่ม OK
จะมีชื่อ Session แสดงบนหน้าจอ - กดปุ่ม Login เพื่อเข้าสู่เครื่อง SFTP Server
กดปุ่มยืนยัน Yes - Login สำเร็จ
สรุป
SFTP เป็น Function ที่จำเป็นอย่างยิ่งทำให้สะดวกง่ายและรวดเร็วในการ Download/Upload File ระหว่าง Client และ Server
Leave a Reply