搭建在线ssh的demo

首先 添加 centos 7的普通用户:
cp /bin/bash /bin/rbash
adduser -s /bin/rbash onlinessh
其中onlinessh是用户名
默认情况其gid与uid都是1000,具体可以 cat /etc/passwd查看。

第二步,cd /home/onlinessh/.local/bin ,如果目录不存在,手动mkdir以上目录路径。
执行 ln -s /bin/ssh .
vi init.ssh
文件内容如下:

#!/bin/bash
cd ~
export PATH=/home/onlinessh/.local/bin
/bin/rbash

接着,下载ttyd
mkdir /usr/local/ttyd/
cd /usr/local/ttyd/
wget -O ttyd https://github.com/tsl0922/ttyd/releases/download/1.6.0/ttyd_linux.x86_64
#添加执行权限
chmod +x ttyd
创建一个ttyd.service文件:vi /usr/lib/systemd/system/ttyddemo.service内容如下:

[Unit]
Description=ttyddemo
After=network.target

[Service]
StartLimitIntervalSec=0
Restart=always
RestartSec=1
ExecStart=/usr/local/ttyd/ttyd -u 1000 -g 1000 -p 2083 -6 -S -C /usr/local/ttyd/cloudflare.pem -K /usr/local/ttyd/cloudflare.key bash /home/onlinessh/.local/bin/init.sh

[Install]
WantedBy=multi-user.target

其中cloudflare.key 与 cloudflare.pem是证书

而后,systemctl enable ttyddemo

最后 systemctl start ttyddemo

大功告成。