Openwrt中TTYD终端无需输入密码直接登录
修改ttyd配置文件 /etc/config ,在 /bin/login 后面加 -f root 变成 '/bin/login -f root'
XML/HTML代码
- config ttyd
- option interface '@lan'
- option command '/bin/login -f root'
然后在输入命令重载ttyd无需重启即可生效。
XML/HTML代码
- /etc/init.d/ttyd reload
也可以使用sed命令把文件中 '/bin/login' 替换为 '/bin/login -f root' 实现一键搞定
XML/HTML代码
sed -i 's|^/bin/login$|/bin/login -f root|g' /etc/config/ttyd && /etc/init.d/ttyd reload或者- sed -i '/\/bin\/login -f root/!s|/bin/login|/bin/login -f root|' /etc/config/ttyd && /etc/init.d/ttyd reload
如何修改源代码实现编译的Openwrt固件直接无需输入密码直接登录
通过查看ttyd源代码发现配置文件和Openwrt的ttyd配置文件完全一样
可以直接修改源代码,在Openwrt源码目录直接输入下面命令
XML/HTML代码
sed -i 's|^/bin/login$|/bin/login -f root|g' feeds/packages/utils/ttyd/files/ttyd.config或者- sed -i '/\/bin\/login -f root/!s|/bin/login|/bin/login -f root|' feeds/packages/utils/ttyd/files/ttyd.config
TTYD独立安装和使用
Dockerhub:https://hub.docker.com/r/tsl0922/ttyd
Linux系统安装ttyd
1、官方编译可执行程序:https://github.com/tsl0922/ttyd/releases (下载对应版本直接运行)
2、Homebrew安装 : brew install ttyd
3、snap安装: sudo snap install ttyd --classic
4、源代码编译 (debian/ubuntu):
XML/HTML代码
- sudo apt-get update
- sudo apt-get install -y build-essential cmake git libjson-c-dev libwebsockets-dev
- git clone https://github.com/tsl0922/ttyd.git
- cd ttyd && mkdir build && cd build
- cmake ..
- make && sudo make install
编译需要组件:libwebsockets-dev
5、OpenWrt安装:opkg install ttyd
6、Docker安装:
与多个客户端共享单个 docker 容器:docker run -it --rm -p 7681:7681 tsl0922/ttyd
为每个客户端创建新的 docker 容器:ttyd docker run -it --rm ubuntu
以上均为简单示例,具体用法自己可以根据官方教程修改使用。