{"id":335,"date":"2025-09-17T07:21:08","date_gmt":"2025-09-17T07:21:08","guid":{"rendered":"https:\/\/blog.chaiyakul.com\/?p=335"},"modified":"2025-09-17T10:45:15","modified_gmt":"2025-09-17T10:45:15","slug":"centos9-web-terminal-ttyd-with-password","status":"publish","type":"post","link":"https:\/\/blog.chaiyakul.com\/index.php\/2025\/09\/17\/centos9-web-terminal-ttyd-with-password\/","title":{"rendered":"CentOS9 Terminal \u0e1a\u0e19 Web \u0e14\u0e49\u0e27\u0e22 ttyd"},"content":{"rendered":"\n<p>\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07 <strong>Terminal \u0e02\u0e2d\u0e07 CentOS 9 \u0e1c\u0e48\u0e32\u0e19 GUI \u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e1e\u0e08 PHP<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e34\u0e48\u0e07\u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19 <strong>Web-based Terminal<\/strong> \u0e17\u0e35\u0e48\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Linux \u0e1c\u0e48\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c<\/p>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e21\u0e35\u0e2b\u0e25\u0e32\u0e22\u0e27\u0e34\u0e18\u0e35\u0e17\u0e33 \u0e41\u0e15\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e23\u0e30\u0e27\u0e31\u0e07\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 <strong>\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01<\/strong> \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e16\u0e49\u0e32\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e23\u0e07 \u0e46 \u0e08\u0e32\u0e01\u0e40\u0e27\u0e47\u0e1a\u0e08\u0e30\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e15\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e16\u0e39\u0e01\u0e42\u0e08\u0e21\u0e15\u0e35<\/p>\n\n\n\n<p>\u0e43\u0e0a\u0e49 <strong>ttyd<\/strong> \u0e41\u0e17\u0e19 (\u0e41\u0e19\u0e30\u0e19\u0e33\u0e1a\u0e19 CentOS 9)<\/p>\n\n\n\n<p><code>ttyd<\/code> \u0e40\u0e1b\u0e47\u0e19 modern web terminal \u0e41\u0e25\u0e30\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e07\u0e48\u0e32\u0e22\u0e01\u0e27\u0e48\u0e32:<\/p>\n\n\n\n<p>1.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e08\u0e32\u0e01 repo EPEL:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo dnf install epel-release -y\nsudo dnf install ttyd -y\n<\/pre><\/div>\n\n\n<p>2.\u0e23\u0e31\u0e19 terminal:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nttyd -p 4200 bash\n<\/pre><\/div>\n\n\n<p>3.\u0e40\u0e02\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/&#x5B;server-ip]:4200\n<\/pre><\/div>\n\n\n<p><u><strong>\u0e40\u0e1b\u0e34\u0e14 port 4200 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49<\/strong><\/u> <\/p>\n\n\n\n<p>1. Firewall \u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200<\/p>\n\n\n\n<p>CentOS 9 \u0e43\u0e0a\u0e49 <code>firewalld<\/code> \u0e42\u0e14\u0e22\u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200 \u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e08\u0e32\u0e01\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01<\/p>\n\n\n\n<p>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30 firewall:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo firewall-cmd --state\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14\u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo firewall-cmd --permanent --add-port=4200\/tcp\nsudo firewall-cmd --reload\n<\/pre><\/div>\n\n\n<p>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e49\u0e27:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo firewall-cmd --list-ports\n<\/pre><\/div>\n\n\n<p>\u0e04\u0e38\u0e13\u0e04\u0e27\u0e23\u0e40\u0e2b\u0e47\u0e19 <code>4200\/tcp<\/code> \u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/p>\n\n\n\n<p>2.ttyd \u0e1f\u0e31\u0e07\u0e40\u0e09\u0e1e\u0e32\u0e30 localhost<\/p>\n\n\n\n<p>\u0e15\u0e2d\u0e19\u0e04\u0e38\u0e13\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nttyd -p 4200 bash\n<\/pre><\/div>\n\n\n<p>\u0e42\u0e14\u0e22\u0e04\u0e48\u0e32 default <code>ttyd<\/code> \u0e1f\u0e31\u0e07 <strong>\u0e40\u0e09\u0e1e\u0e32\u0e30 127.0.0.1<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e2b\u0e21\u0e32\u0e22\u0e16\u0e36\u0e07\u0e40\u0e02\u0e49\u0e32\u0e08\u0e32\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 local \u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19<\/p>\n\n\n\n<p>\u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19 ttyd \u0e43\u0e2b\u0e49\u0e1f\u0e31\u0e07\u0e17\u0e38\u0e01 IP:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nttyd -p 4200 -i 0.0.0.0 bash\n<\/pre><\/div>\n\n\n<p><code>-i 0.0.0.0<\/code> = \u0e1f\u0e31\u0e07\u0e17\u0e38\u0e01 interface<\/p>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e25\u0e2d\u0e07\u0e40\u0e1b\u0e34\u0e14\u0e08\u0e32\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2d\u0e37\u0e48\u0e19:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/&#x5B;ip \u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07]:4200\n<\/pre><\/div>\n\n\n<p>\u2705 \u0e2a\u0e23\u0e38\u0e1b<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200 \u0e1a\u0e19 firewall<\/li>\n\n\n\n<li>\u0e23\u0e31\u0e19 ttyd \u0e1f\u0e31\u0e07\u0e17\u0e38\u0e01 IP (<code>-i 0.0.0.0<\/code>)<\/li>\n<\/ol>\n\n\n\n<p><u><strong>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e38\u0e13\u0e40\u0e02\u0e49\u0e32\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a <code>ttyd<\/code> \u0e44\u0e14\u0e49\u0e41\u0e15\u0e48 \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e2d\u0e30\u0e44\u0e23\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49<\/strong><\/u><\/p>\n\n\n\n<p>\u0e27\u0e34\u0e18\u0e35\u0e41\u0e01\u0e49: \u0e43\u0e0a\u0e49 <code>--writable<\/code> \u0e2b\u0e23\u0e37\u0e2d <code>-w<\/code><\/p>\n\n\n\n<p>\u0e23\u0e31\u0e19 ttyd \u0e41\u0e1a\u0e1a\u0e40\u0e02\u0e35\u0e22\u0e19\u0e44\u0e14\u0e49:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nttyd -p 4200 -i 0.0.0.0 -w bash\n<\/pre><\/div>\n\n\n<p><code>-w<\/code> \u0e2b\u0e23\u0e37\u0e2d <code>--writable<\/code> = \u0e40\u0e1b\u0e34\u0e14\u0e43\u0e2b\u0e49\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p><code>-i 0.0.0.0<\/code> = \u0e1f\u0e31\u0e07\u0e17\u0e38\u0e01 interface<\/p>\n\n\n\n<p><code>-p 4200<\/code> = \u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200<\/p>\n\n\n\n<p><code>bash<\/code> = shell \u0e17\u0e35\u0e48\u0e08\u0e30\u0e23\u0e31\u0e19<\/p>\n\n\n\n<p>\u0e2b\u0e23\u0e37\u0e2d<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nttyd -p 4200 -i 0.0.0.0 --writable bash\n<\/pre><\/div>\n\n\n<p><code>--writable<\/code> = \u0e40\u0e1b\u0e34\u0e14\u0e42\u0e2b\u0e21\u0e14\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p><code>bash<\/code> = shell \u0e17\u0e35\u0e48\u0e08\u0e30\u0e23\u0e31\u0e19<\/p>\n\n\n\n<p><u><strong>\u0e2d\u0e22\u0e32\u0e01\u0e43\u0e2b\u0e49 ttyd \u0e23\u0e31\u0e19\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07<\/strong><\/u><\/p>\n\n\n\n<p>1.\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c service<\/p>\n\n\n\n<p>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e43\u0e2b\u0e21\u0e48 <code>\/etc\/systemd\/system\/ttyd.service<\/code>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo nano \/etc\/systemd\/system\/ttyd.service\n<\/pre><\/div>\n\n\n<p>\u0e27\u0e32\u0e07\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;Unit]\nDescription=ttyd Web Terminal\nAfter=network.target\n\n&#x5B;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/ttyd -p 4200 -i 0.0.0.0 --writable bash\nRestart=always\nRestartSec=5\n\n&#x5B;Install]\nWantedBy=multi-user.target\n<\/pre><\/div>\n\n\n<p><code>User=root<\/code> \u2192 \u0e23\u0e31\u0e19 ttyd \u0e14\u0e49\u0e27\u0e22 root \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 system \u0e44\u0e14\u0e49\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<\/p>\n\n\n\n<p><code>Restart=always<\/code> \u2192 \u0e16\u0e49\u0e32 ttyd crash \u0e08\u0e30 restart \u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34<\/p>\n\n\n\n<p>2.\u0e23\u0e35\u0e42\u0e2b\u0e25\u0e14 systemd \u0e41\u0e25\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21 service<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo systemctl daemon-reload\nsudo systemctl enable ttyd.service\nsudo systemctl start ttyd.service\n<\/pre><\/div>\n\n\n<p>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo systemctl status ttyd.service\n<\/pre><\/div>\n\n\n<p>\u0e04\u0e38\u0e13\u0e04\u0e27\u0e23\u0e40\u0e2b\u0e47\u0e19 <code>active (running)<\/code> \u2705<\/p>\n\n\n\n<p>3.\u0e40\u0e1b\u0e34\u0e14 firewall \u0e1e\u0e2d\u0e23\u0e4c\u0e15 4200<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo firewall-cmd --permanent --add-port=4200\/tcp\nsudo firewall-cmd --reload\n<\/pre><\/div>\n\n\n<p>4.\u0e17\u0e14\u0e2a\u0e2d\u0e1a<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/&#x5B;server-ip]:4200\n<\/pre><\/div>\n\n\n<p>\u0e04\u0e38\u0e13\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19 <strong>web terminal<\/strong> \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35<\/p>\n\n\n\n<p><u><strong>\u0e2d\u0e22\u0e32\u0e01\u0e43\u0e2b\u0e49 ttyd web terminal \u0e23\u0e31\u0e19\u0e41\u0e25\u0e49\u0e27\u0e21\u0e35 password login \u0e01\u0e48\u0e2d\u0e19\u0e40\u0e02\u0e49\u0e32\u0e2b\u0e19\u0e49\u0e32 terminal<\/strong><\/u><\/p>\n\n\n\n<p>ttyd \u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a authentication \u0e14\u0e49\u0e27\u0e22 <code>-c<\/code> (credential) \u0e41\u0e1a\u0e1a <strong>user:password<\/strong><\/p>\n\n\n\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e41\u0e01\u0e49\u0e44\u0e02\u0e44\u0e1f\u0e25\u0e4c systemd<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;Unit]\nDescription=ttyd Web Terminal\nAfter=network.target\n\n&#x5B;Service]\nType=simple\nUser=root\nExecStart=\/usr\/bin\/ttyd -p 4200 -i 0.0.0.0 --writable -c admin:1234 bash\nRestart=always\nRestartSec=5\n\n&#x5B;Install]\nWantedBy=multi-user.target\n<\/pre><\/div>\n\n\n<p><code>-c admin:1234<\/code> \u2192 \u0e43\u0e2a\u0e48 username = <code>admin<\/code> \u0e41\u0e25\u0e30 password = <code>1234<\/code><\/p>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a <code>http:\/\/&lt;server-ip&gt;:4200<\/code> \u0e08\u0e30\u0e02\u0e36\u0e49\u0e19\u0e2b\u0e19\u0e49\u0e32 login<\/p>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07 login \u0e08\u0e36\u0e07\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07 bash \u0e44\u0e14\u0e49<\/p>\n\n\n\n<p>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19<\/p>\n\n\n\n<p>1.\u0e41\u0e01\u0e49\u0e44\u0e02\u0e44\u0e1f\u0e25\u0e4c systemd:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo nano \/etc\/systemd\/system\/ttyd.service\n<\/pre><\/div>\n\n\n<p>2.\u0e40\u0e1e\u0e34\u0e48\u0e21 <code>-c user:password<\/code> \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19 <code>ExecStart<\/code><\/p>\n\n\n\n<p>3.\u0e23\u0e35\u0e42\u0e2b\u0e25\u0e14 systemd \u0e41\u0e25\u0e30 restart service:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo systemctl daemon-reload\nsudo systemctl restart ttyd.service\n<\/pre><\/div>\n\n\n<p>4.\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo systemctl status ttyd.service\n<\/pre><\/div>\n\n\n<p>5.\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e40\u0e02\u0e49\u0e32:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhttp:\/\/&#x5B;server-ip]:4200\n<\/pre><\/div>\n\n\n<p>\u0e08\u0e30\u0e40\u0e08\u0e2d <strong>login prompt<\/strong> \u0e01\u0e48\u0e2d\u0e19\u0e40\u0e02\u0e49\u0e32 terminal<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07 Terminal \u0e02\u0e2d\u0e07 CentOS 9 \u0e1c\u0e48\u0e32\u0e19 GUI \u0e1a\u0e19\u0e40\u0e27 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[105,9],"tags":[],"class_list":["post-335","post","type-post","status-publish","format-standard","hentry","category-centos","category-linux"],"_links":{"self":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/comments?post=335"}],"version-history":[{"count":2,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/335\/revisions"}],"predecessor-version":[{"id":342,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/335\/revisions\/342"}],"wp:attachment":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/media?parent=335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/categories?post=335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/tags?post=335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}