ค้นหาเว็บไซต์

วิธีเข้าถึง Linux Server Terminal ในเว็บเบราว์เซอร์โดยใช้เครื่องมือ 'Wetty (Web + tty)'


ในฐานะผู้ดูแลระบบ คุณอาจเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลโดยใช้โปรแกรม เช่น เทอร์มินัล GNOME (หรือที่คล้ายกัน) หากคุณใช้เดสก์ท็อป Linux หรือไคลเอ็นต์ SSH เช่น Putty ถ้าคุณมี เครื่อง Windows ในขณะที่คุณทำงานอื่นๆ เช่น ท่องเว็บหรือตรวจสอบอีเมลของคุณ

คงจะดีไม่น้อยหากมีวิธีเข้าถึงเซิร์ฟเวอร์ Linux ระยะไกลได้โดยตรงจากเว็บเบราว์เซอร์ โชคดีสำหรับเราทุกคน มีเครื่องมือที่เรียกว่า Wetty (Web + tty) ที่ช่วยให้เราทำเช่นนั้นได้ โดยไม่จำเป็นต้องเปลี่ยน โปรแกรมและทั้งหมดจากหน้าต่างเว็บเบราว์เซอร์เดียวกัน

การติดตั้ง Wetty ใน Linux

Wetty พร้อมใช้งานจากพื้นที่เก็บข้อมูล GitHub ของนักพัฒนา ด้วยเหตุผลดังกล่าว โดยไม่คำนึงถึงการกระจาย คุณจึงใช้การขึ้นต่อกันบางอย่างที่ต้องติดตั้งด้วยตนเองก่อนจึงจะโคลนพื้นที่เก็บข้อมูลในเครื่องและติดตั้งโปรแกรมได้

ในดิสโทรที่ใช้ RHEL เช่น CentOS, Rocky Linux และ AlmaLinux คุณต้องติดตั้ง NodeJS และ ที่เก็บ EPEL ดังที่แสดง:


yum groupinstall 'Development Tools'
curl -fsSL https://rpm.nodesource.com/setup_17.x | bash -
yum update 
yum install epel-release git nodejs npm

ใน Debian และอนุพันธ์ของมัน เวอร์ชันของ NodeJS ที่พร้อมใช้งานจากที่เก็บของการแจกจ่ายนั้นเก่ากว่าเวอร์ชันขั้นต่ำที่จำเป็นสำหรับการติดตั้ง Wetty ดังนั้นคุณต้องติดตั้งจากส่วน >NodeJS พื้นที่เก็บข้อมูลของนักพัฒนา GitHub:


apt install curl build-essential
curl -fsSL https://deb.nodesource.com/setup_17.x | sudo -E bash -
apt update && apt install -y git nodejs npm

หลังจากติดตั้งการขึ้นต่อกันเหล่านี้แล้ว ให้โคลนพื้นที่เก็บข้อมูล GitHub:

git clone https://github.com/krishnasrinivas/wetty

เปลี่ยนไดเร็กทอรีการทำงานเป็น wetty ตามที่ระบุในข้อความด้านบน:

cd wetty

จากนั้นติดตั้ง Wetty โดยเรียกใช้:

npm install

หากคุณได้รับข้อความแสดงข้อผิดพลาดใดๆ ในระหว่างขั้นตอนการติดตั้ง โปรดแก้ไขปัญหาก่อนดำเนินการต่อ ในกรณีของฉัน ความต้องการ NodeJS เวอร์ชันใหม่ใน Debian เป็นปัญหาที่ต้องแก้ไขก่อนที่จะรันการติดตั้ง npm ได้สำเร็จ

การเริ่ม Wetty และการเข้าถึง Linux Terminal จากเว็บเบราว์เซอร์

ณ จุดนี้ คุณสามารถเริ่มเว็บอินเทอร์เฟซในพอร์ตท้องถิ่น 8080 สำหรับ Wetty ได้โดยการเรียกใช้ (ซึ่งถือว่าไดเร็กทอรีการทำงานปัจจุบันของคุณคือ /wetty) : :

node app.js -p 8080

ดังที่คุณเห็นในภาพด้านล่าง:

แต่ช่วยตัวเองหน่อยและ อย่า ป้อนชื่อผู้ใช้และรหัสผ่านของคุณ เนื่องจากการเชื่อมต่อนี้ไม่ปลอดภัย และคุณไม่ต้องการให้ข้อมูลประจำตัวของคุณเดินทางผ่านสายโดยไม่มีการป้องกัน

ด้วยเหตุนี้ คุณจึงควรเรียกใช้ Wetty ผ่าน HTTPS เสมอ มาสร้างใบรับรองที่ลงนามด้วยตนเองเพื่อรักษาความปลอดภัยการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

จากนั้นใช้เพื่อเปิด Wetty ผ่าน HTTPS

โปรดทราบว่าคุณจะต้องเปิดพอร์ต HTTPS ที่กำหนดเองซึ่งคุณจะต้องเรียกใช้ Wetty:

firewall-cmd --add-service=https # Run Wetty in the standard HTTPS port (443)
firewall-cmd --permanent --add-service=https
firewall-cmd --add-port=XXXX/tcp # Run Wetty on TCP port XXXX
nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

คำสั่งสุดท้ายในลำดับข้างต้นจะเริ่ม Wetty ในการฟังเบื้องหลังบนพอร์ต 8080 เนื่องจากเราใช้ใบรับรองที่ลงนามด้วยตนเอง จึงคาดว่าเบราว์เซอร์จะแสดงคำเตือนด้านความปลอดภัย ซึ่งจะปลอดภัยอย่างยิ่งที่จะเพิกเฉยและเพิ่มข้อยกเว้นด้านความปลอดภัย ไม่ว่าจะถาวรหรือสำหรับเซสชันปัจจุบัน:

หลังจากที่คุณยืนยันข้อยกเว้นด้านความปลอดภัยแล้ว คุณจะสามารถเข้าสู่ระบบ VPS ของคุณโดยใช้ Wetty ได้ ดำเนินไปโดยไม่ได้บอกว่าคุณสามารถรันคำสั่งและโปรแกรมทั้งหมดได้ราวกับว่าคุณกำลังนั่งอยู่หน้าเทอร์มินัลจริงหรือเสมือน ดังที่คุณเห็นในหน้าจอต่อไปนี้: