ดาวน์โหลดบทความ
ดาวน์โหลดบทความ
ถ้าคุณเชื่อมต่อกับคอมอีกเครื่องผ่านอินเทอร์เน็ต เรื่องความปลอดภัยของข้อมูลก็ถือเป็นเรื่องสำคัญ ซึ่ง SSH นี่แหละหนึ่งในตัวช่วยของคุณ แค่เริ่มจากติดตั้ง SSH ลงคอมให้ถูกต้อง แล้วเชื่อมต่อกับเซิร์ฟเวอร์แบบเข้ารหัส แต่จะเชื่อมต่ออย่างปลอดภัยได้ ทั้งต้นทางและปลายทางต้องเปิด SSH ทั้งคู่ บทความวิกิฮาวนี้จะแนะนำวิธีการเชื่อมต่ออย่างปลอดภัยผ่าน SSH ให้คุณเอง
ขั้นตอน
-
ติดตั้ง SSH. ถ้าใช้ Windows ต้องดาวน์โหลดและติดตั้งโปรแกรม SSH ก่อน ที่ดังๆ ก็มี Cygwin ซึ่งใช้ฟรี ดาวน์โหลดได้จากเว็บของผู้พัฒนาเลย เวลาดาวน์โหลดและติดตั้งก็เหมือนโปรแกรมทั่วไป ส่วนอีกโปรแกรมฟรีแต่ดีก็คือ PuTTY [1] X แหล่งข้อมูลอ้างอิง
- ตอนติดตั้ง Cygwin ต้องเลือกติดตั้ง OpenSSH ในหัวข้อ Net
- Linux กับ Mac OS X จะมาพร้อม SSH อยู่แล้ว เพราะ SSH เป็นระบบ UNIX ซึ่งทั้ง Linux และ OS X นั้นถือกำเนิดเกิดมาจาก UNIX
- ถ้าใช้ Windows 10 แบบ Anniversary Update ก็ให้ติดตั้ง Windows Subsystem ของ Linux ซึ่งจะมี SSH ติดมาด้วย
-
เปิด SSH. เปิดโปรแกรม terminal ที่ Cygwin ติดตั้งไว้ หรือเปิด Bash ของ Ubuntu ใน Windows (Windows 10) ไม่ก็เปิด Terminal ใน OS X หรือ Linux โดย SSH จะใช้ interface ของ terminal เวลาติดต่อกับคอมเครื่องอื่นๆ ไม่มีหน้าตาเมนูทั่วไป เพราะงั้นต้องฝึกพิมพ์คำสั่งให้ชินซะก่อน
-
ทดสอบการเชื่อมต่อ. ก่อนจะไปสร้าง secure key และย้ายไฟล์ ต้องทดสอบว่าปรับแต่ง SSH ในคอมถูกต้องแล้ว รวมถึงระบบที่จะเชื่อมต่อด้วย ให้คุณพิมพ์คำสั่งต่อไปนี้ โดยเปลี่ยน <username> เป็น username ของ remote computer (คอมระยะไกล) และเปลี่ยน <remote> เป็น address ของ remote computer หรือเซิร์ฟเวอร์
-
$ ssh <username>@<remote>
- หลังเชื่อมต่อจะมีถามรหัสผ่าน ตอนพิมพ์จะไม่เห็นเคอร์เซอร์ขยับและไม่เห็นตัวอักษรที่พิมพ์ไป
- ถ้าขั้นตอนนี้ไม่ได้ผล แสดงว่าตั้งค่า SSH ในคอมไม่ถูก หรือ remote computer ไม่รับการเชื่อมต่อผ่าน SSH
โฆษณา -
-
เข้า SSH shell. ตอนเชื่อมต่อคอมระยะไกลหรือ remote computer ครั้งแรก ให้อยู่ในโฟลเดอร์ HOME จากนั้นจะขยับขยายไปที่ไหนในโครงสร้างโฟลเดอร์ ก็ให้พิมพ์คำสั่ง
cd
[2] X แหล่งข้อมูลอ้างอิง-
cd ..
จะขยับขึ้นไป 1 โฟลเดอร์ -
cd <directoryname>
จะไปยังโฟลเดอร์ย่อยที่กำหนด -
cd /home/directory/path/
จะย้ายจาก root (home) ไปยังโฟลเดอร์ที่กำหนด -
cd ~
จะกลับไปที่โฟลเดอร์ HOME
-
-
ดูเนื้อหาในโฟลเดอร์ปัจจุบัน. ถ้าอยากเห็นไฟล์และโฟลเดอร์ในตำแหน่งปัจจุบัน ให้ใช้คำสั่ง
ls
[3] X แหล่งข้อมูลอ้างอิง-
ls
จะแสดงไฟล์และโฟลเดอร์ทั้งหมดในโฟลเดอร์ปัจจุบัน -
ls –l
จะแสดงเนื้อหาในโฟลเดอร์ รวมถึงข้อมูลเพิ่มเติม เช่น ขนาด การอนุญาตสิทธิ์ และวันที่ -
ls-a
จะแสดงเนื้อหาทั้งหมด รวมถึงไฟล์และโฟลเดอร์ที่ถูกซ่อน
-
-
copy ไฟล์จากตำแหน่งปัจจุบันไปที่คอมปลายทาง. ถ้าจะ copy ไฟล์จากคอมต้นทางไปยังคอมที่เข้าถึงจากระยะไกล ก็ให้ใช้คำสั่ง
scp
-
scp /localdirectory/example1.txt <username>@<remote>:<path>
จะ copy example1.txt ไปยัง <path> ที่กำหนดของคอมปลายทาง ถ้าปล่อย <path> ว่างไว้ ก็จะเป็นการ copy ไฟล์ไปยัง root folder ของคอมปลายทางแทน -
scp <username>@<remote>:/home/example1.txt ./
จะย้าย example1.txt จากโฟลเดอร์ home ของคอมปลายทาง มาที่ตำแหน่งปัจจุบันของคอมต้นทาง
-
-
copy ไฟล์ผ่าน shell. คุณใช้คำสั่ง
cp
เพื่อสร้างสำเนาไฟล์ทั้งในโฟลเดอร์เดียวกัน และในโฟลเดอร์ที่เลือกได้-
cp example1.txt example2.txt
จะสร้างสำเนาไฟล์ example1.txt ชื่อ example2.txt ไว้ในตำแหน่งเดียวกัน -
cp example1.txt <directory>/
จะ copy ไฟล์ example1.txt ไปที่ตำแหน่งที่กำหนดใน <directory>
-
-
ย้ายและเปลี่ยนชื่อไฟล์. ถ้าอยากเปลี่ยนชื่อไฟล์ หรือย้ายไฟล์ไปเลย ไม่ copy ก็ให้ใช้คำสั่ง
mv
-
mv example1.txt example2.txt
จะเปลี่ยนชื่อ example1.txt เป็น example2.txt โดยที่ไฟล์ยังอยู่ในตำแหน่งเดิม -
mv directory1 directory2
จะเปลี่ยนชื่อ directory1 เป็น directory2 โดยที่เนื้อหาในโฟลเดอร์ไม่เปลี่ยนไป -
mv example1.txt directory1/
จะย้าย example1.txt ไปที่ directory1 -
mv example1.txt directory1/example2.txt
จะย้าย example1.txt ไปที่ directory1 แล้วเปลี่ยนชื่อเป็น example2.txt
-
-
ลบไฟล์และโฟลเดอร์. ถ้าจะลบอะไรจากคอมที่เชื่อมต่อไว้ ให้ใช้คำสั่ง
rm
-
rm example1.txt
จะลบไฟล์ example1.txt -
rm –I example1.txt
จะลบไฟล์ example1.txt หลังมีให้ยืนยัน -
rm directory1/
จะลบโฟลเดอร์ directory1 และเนื้อหาข้างในทั้งหมด
-
-
เปลี่ยนการอนุญาตสิทธิ์ของไฟล์. คุณเปลี่ยนสิทธิ์การอ่านและแก้ไขไฟล์ได้ โดยใช้คำสั่ง
chmod
-
chmod u+w example1.txt
จะเพิ่มสิทธิ์การเขียน (แก้ไข) ไฟล์ ให้ผู้ใช้ (u) นอกจากนี้ก็ใช้ modifierg
อนุญาตสิทธิ์แบบกลุ่ม หรือใช้o
อนุญาตสิทธิ์แบบ world permissions ด้วย -
chmod g+r example1.txt
จะเพิ่มสิทธิ์การอ่าน (เปิด) ไฟล์ให้กลุ่มผู้ใช้ - จริงๆ แล้วมีรายชื่อสิทธิ์อีกเยอะที่คุณใช้รักษาความปลอดภัยหรือเปิดการใช้งานต่างๆ ของระบบได้ [4] X แหล่งข้อมูลอ้างอิง
-
-
รู้จักคำสั่งพื้นฐานอื่นๆ. ยังมีอีก 2 - 3 คำสั่งสำคัญ ที่ต้องใช้บ้างใน shell interface ก็คือ
-
mkdir newdirectory
จะสร้างโฟลเดอร์ย่อยใหม่ชื่อ newdirectory -
pwd
จะแสดงตำแหน่งของโฟลเดอร์ปัจจุบัน -
who
จะแสดงผู้ใช้ที่ล็อกอินอยู่ในระบบ -
pico newfile.txt
หรือvi newfile.txt
จะสร้างไฟล์ใหม่แล้วเปิด file editor แต่ละระบบก็จะมี file editor ที่ติดตั้งไว้แตกต่างกันไป แต่ที่พบบ่อยคือ pico กับ vi เพราะงั้นอาจจะต้องใช้คำสั่งอื่น ถ้าใช้ file editor อื่น
-
-
ดูรายละเอียดคำสั่ง. ถ้าไม่แน่ใจว่าคำสั่งนั้นใช้ทำอะไร ให้ใช้คำสั่ง
man
เพื่อดูรายละเอียดการใช้งานและพารามิเตอร์ทั้งหมด-
man <command>
จะแสดงข้อมูลเกี่ยวกับคำสั่งนั้น -
man –k <keyword>
จะค้นหาคู่มือ (manual pages) ทั้งหมดของคีย์เวิร์ดที่กำหนด [5] X แหล่งข้อมูลอ้างอิง
โฆษณา -
-
สร้างรหัส SSH. รหัสหรือคีย์พวกนี้ใช้เชื่อมต่อคอมระยะไกลโดยไม่ต้องใส่รหัสผ่านทุกครั้ง เป็นวิธีเชื่อมต่อระยะไกลที่ปลอดภัยกว่า เพราะไม่ต้องส่งรหัสผ่านทางเครือข่าย
- สร้างโฟลเดอร์รหัสในคอม โดยใช้คำสั่ง
$ mkdir .ssh
- สร้างรหัส public (สาธารณะ) และ private (ส่วนตัว) โดยใช้คำสั่ง
$ ssh-keygen –t rsa
- จะมีถามว่าจะสร้าง passphrase ของรหัสไหม (ไม่จำเป็น) ถ้าไม่ต้องการ ให้กด Enter จะได้มา 2 คีย์ในโฟลเดอร์ .ssh คือ id_rsa และ id_rsa.pub
- เปลี่ยนการอนุญาตสิทธิ์ของ private key ถ้าอยากแน่ใจว่า private key นั้นคุณใช้ได้คนเดียว ก็ให้ใช้คำสั่ง
$ chmod 600 .ssh/id_rsa
- สร้างโฟลเดอร์รหัสในคอม โดยใช้คำสั่ง
-
ใส่ public key ในคอมปลายทาง. พอสร้าง key แล้ว ก็เอา public key ไปใส่ในคอมระยะไกลได้เลย คราวนี้ก็เชื่อมต่อกันแบบไม่ต้องใช้รหัสผ่าน ให้คุณพิมพ์คำสั่งต่อไปนี้ โดยปรับเปลี่ยนส่วนต่างๆ ตามที่อธิบายไปก่อนหน้า
-
$ scp .ssh/id_rsa.pub <username>@<remote>:
- อย่าลืมพิมพ์ colon (:) ท้ายคำสั่ง
- จะมีให้ใส่รหัสผ่านก่อนเริ่มถ่ายโอนไฟล์
-
-
ติดตั้ง public key ในคอมปลายทาง. พอใส่ key ในคอมระยะไกลแล้ว ต้องติดตั้งก่อนถึงจะใช้งานได้ ขั้นแรกให้ล็อกอินเข้าคอมระยะไกลด้วยวิธีในขั้นตอนที่ 3
- สร้างโฟลเดอร์ SSH ในคอมระยะไกล ถ้ายังไม่มี โดยใช้คำสั่ง
$ mkdir .ssh
- เพิ่ม key เข้า authorized keys file (ไฟล์คีย์ที่อนุญาตการใช้งานแล้ว) ถ้ายังไม่มีไฟล์นี้ คำสั่ง
$ cat id_rsa.pub >> .ssh/authorized_keys
จะสร้างขึ้นมา - เปลี่ยนการอนุญาตสิทธิ์ของโฟลเดอร์ SSH เพื่อให้เข้าถึงและใช้งานได้ โดยใช้คำสั่ง
$ chmod 700 .ssh
- สร้างโฟลเดอร์ SSH ในคอมระยะไกล ถ้ายังไม่มี โดยใช้คำสั่ง
-
เช็คว่าเชื่อมต่อเรียบร้อยดี. พอติดตั้ง key ในคอมปลายทางแล้ว ก็จะเริ่มเชื่อมต่อได้โดยไม่ต้องกรอกรหัสอีก ยังไงลองทดสอบการเชื่อมต่อด้วยคำสั่ง
$ ssh <username>@<remote>
- ถ้าเชื่อมต่อได้โดยไม่ถูกถามหารหัสผ่าน แสดงว่าปรับแต่ง key ไม่ถูกต้อง
โฆษณา
ข้อมูลอ้างอิง
โฆษณา