网页ssh工具ttyd
ttyd是是一个免费开源的命令行工具,由c语言编写,资源和内存占用小,用于在WEB上共享终端,白话文说就是可以实现在网页上使用SSH终端服务
最新版下载:
阿里云限量代金券 | 此广告位出租25元/月 |
https://github.com/tsl0922/ttyd/releases
安装:
#下载ttyd
wget https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64
#重命名
mv ttyd.x86_64 ttyd
#添加执行权限
chmod +x ttyd
#移动目录
mv ttyd /usr/local/bin
#查看版本
ttyd -v
启动:
直接启动:ttyd -p 8080 -c root:123456 bash
但是此时ttyd并不是以后台启动的
后台启动方法1:
#使用&保持后台运行
nohup ttyd -p 8080 -c root:123456 bash > ./ttyd.log &
ttyd关闭
ps -ef | grep ttyd
kill对应的进程即可
kill [pid]
后台启动方法2:
新建服务
创建一个ttyd.service文件:vi /etc/systemd/system/ttyd.service内容如下:
[Unit]
Description=ttyd
After=network.target
[Service]
ExecStart=/usr/local/bin/ttyd -p 8080 -c root:123456 bash
[Install]
WantedBy=multi-user.target
创建完毕后输入命令:systemctl daemon-reload让daemon生效。
上面使用了-c参数,这个参数的含义是设置用户名、密码验证,格式为-c 用户名:密码,上方设置的用户名为root,密码为123456,请自行修改为自己的用户名、密码。
服务创建后,我们可以使用systemd命令来进行管理了,命令如下:
#启动ttyd
systemctl start ttyd
#停止ttyd
systemctl stop ttyd
#重启ttyd
systemctl restart ttyd
#开机启动
systemctl enable ttyd
Nginx反向代理
如果您不喜欢通过IP + 端口的访问形式,也可以设置Nginx反向代理通过域名访问,配置如下:
如果是网站根目录
location / {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:7681;
}
如果是网站二级目录
location ~ ^/ttyd(.*)$ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:7681/$1;
}
注意上面的ttyd可以修改为自己想要的路径。
ttyd项目地址:https://github.com/tsl0922/ttyd
ttyd官方主页:https://tsl0922.github.io/ttyd/