背景:前几天去朋友家完,临时需要连接家里的centos,但他电脑上没有安装shell类的工具,避免给朋友电脑装太多“垃圾”(shell工具及服务秘钥),所以找了下web版的shell,百度了一下有很多,这里我推荐一下ttyd。
ttyd是一款开源的webshell工具,支持多平台 macOS, Linux, FreeBSD/OpenBSD, OpenWrt, Windows。
作者源地址https://github.com/tsl0922/ttyd,下载页也有已编译好的文件
- 流程
- 下载ttyd
- 防火墙添加放行端口(7681)
- 移动ttyd到/usr/sbin
- 添加systemctl服务
- 测试ttyd
第一步,下载ttyd
我这里直接用我的gitee文件,也是从作者那下载的1.6.3,如果版本更新你也可以从作者github下载
#安装git
yum -y install git
#git我的ttyd
git clone https://gitee.com/ffing/ttyd_webshell-1.6.3.git
第二步,防火墙添加放行端口(7681)
#永久放行端口:7681
firewall-cmd --zone=public --add-port=7681 --permanent
#重新加载防火墙
firewall-cmd --reload
#备注:有朋友不喜欢用端口,可以使用本地web服务器做反向代理,切记将localhost改为127.0.0.1,否则解析跳转很慢,本人喜欢端口(因为家庭宽带不开放80、443所以域名也是要跳转端口的不实用 o(╥﹏╥)o )
第三步,复制ttyd到/usr/sbin
#将下载的ttyd移动到/usr/sbin/下
mv ./ttyd_webshell-1.6.3/ttyd /usr/sbin
#增加ttyd执行权限
chmod +x /
#查看ttyd版本
ttyd -v
#启动ttyd,没有密码验证(访问地址:http://ip:7681)
ttyd bash
#增加验证访问,用户名:admin,密码123456(访问地址:http://ip:7681)
ttyd -c admin:123456 bash
#如想更改默认端口可增加 -p 参数,如下指定为8080
ttyd -p 8080 bash
#ssl加密
ttyd --ssl --ssl-cert 证书路径.crt --ssl-key 秘钥路径.key bash
第四步,添加systemctl服务
为了方便管理,将ttyd增加系统服务,通过systemctl管理
#移动ttyd.service服务文件到/usr/lib/systemd/system/目录下(有朋友喜欢直接放在/etc/systemd/system/目录下,最终效果都是一样,区别在于一个是软链接另一个是原文件,可以自行百度)
mv ./ttyd.service /usr/lib/systemd/system
#重新加载systemctl
systemctl daemon-reload
#ok,可以通过systemctl管理了
systemctl start ttyd
systemctl stop ttyd
systemctl restart ttyd
systemctl enable ttyd
下面是我的ttyd.service文件内容,证书、ssl自行添加
[Unit]
Description=ttyd
After=network.target
[Service]
ExecStart=/usr/sbin/ttyd -c admin:123456 bash
[Install]
WantedBy=multi-user.target
第五步,测试
确认防火墙放行端口已增加,服务已启动,我们就可以通过浏览器访问了
再重申一下,如果想更换默认端口,可以加-p 参数
http://ttyd服务ip地址:7681
发表评论