利用ttyd作为VPS的web终端
标签搜索
侧边栏壁纸
  • 累计撰写 3 篇文章
  • 累计收到 0 条评论

利用ttyd作为VPS的web终端

鹊踏枝
2020-04-17 / 0 评论 / 27 阅读 / 正在检测是否收录...

  感觉传统的ssh在某些时候不够方便,而且容易被扫。突然想到路由器上现在经常使用的ttyd,于是便想肯定会有x64版本,遂上github寻之。哈哈,连编译好的二进制文件都有呢,那还编译个啥,直接伸手呗。
  ttyd项目地址:https://github.com/tsl0922/ttyd
  ttyd x86二进制文件地址:https://github.com/tsl0922/ttyd/releases (选ttyd_linux.x86_64即可)
  先用wget把二进制文件下下来,赋予可执行权限并放到bin目录下

wget https://github.com/tsl0922/ttyd/releases/download/1.6.1/ttyd_linux.x86_64
chmod +x ttyd_linux.x86_64
mv ttyd_linux.x86_64 /usr/local/bin/ttyd

  切换到bin目录下让其暂时运行起来

cd /usr/local/bin/ttyd
./ttyd -p 8888 login

  然后使用你vps的ip:8888访问,就可以看到如下的页面了:
  尝试登陆,一切正常。但是我不能每次都自己手动运行吧,遂想做个开机运行的脚本。突然想到了centos8自带的systemctl,不错,可以利用这玩意儿。
  写个启动的sh就得了,不需要停止的。于是在/root目录下新建一个sh:

touch ttyd.sh

  内容如下:

#!/bin/bash
cd /usr/local/bin/
./ttyd -p 8880 -i lo login &

  然后进行如下操作

cd /usr/lib/systemd/system
touch ttyd.service

  用你喜欢的文本编辑器将ttyd.service的内容修改如下:

[Unit]
Description=ttyd
After=ttyd.service

[Service]
Type=forking
User=root
Group=root
ExecStart=/root/ttyd.sh
PrivateTmp=true

[Install]

WantedBy=multi-user.target

  保存后试着运行

systemctl start ttyd

  观察能不能正常启动,如果可以的话再运行如下代码将其设置为开机启动

systemctl enable ttyd.service

  至此你已经可以正常通过你的VPS的IP/绑定的域名:端口号访问web终端了,enjoy!
  如果觉得担心任意ip均可直接通过ip访问或者不想多开放端口,可以使用caddy进行反向代理到443端口,再通过-i参数指定可以访问的网卡,绑定为lo网卡,127.0.0.1即可,这样就只能通过你指定的域名访问了,而且可以套一层https,具体方法以后再说。

0

评论

博主关闭了所有页面的评论