前言
上一篇文章(使用sshdo限制incoming ssh只能执行指定命令)[https://blog.csdn.net/thesre/article/details/129135045] 介绍了如何配置并使用sshdo。有同学就遇到问题了,说我怎么知道我要允许哪些命令?
那么,本文以TurboVNC客户端连接TurboVNC Server为例(login server只支持TurboVNC客户端来连接,而不能够ssh连接过来做交互式的操作),一起来看sshdo training mode的配置与使用。
配置
ssh配置
请按照上一篇文章(使用sshdo限制incoming ssh只能执行指定命令)[https://blog.csdn.net/thesre/article/details/129135045] 配置好ssh。
sshdo配置
打开training指令
-bash-4.2# tail -5 /etc/sshdoers
# Turn on training mode to allow but log unexpected commands either
# for all users and keys (i.e. "training") or for particular users
# and keys (e.g. "training user1 user2/label +group3 -user3").
#
training
使用TurboVNC



做三个常见操作:
在第一个Session,点击Connect
在左下角点击New session
在第一个Session,点击Kill
查看training日志
-bash-4.2# grep -r sshdo /var/log/ | grep training
/var/log/messages: Feb 21 00:03:59 computing-server-01 sshdo[3694]: type="training" user="root" remoteip="172.16.0.126" command="bash -c \"set -o pipefail; /opt/TurboVNC/bin/vncpasswd -o -display :4 2>&1 | sed 's/^/[TURBOVNC] /g'\""
/var/log/messages: Feb 21 00:04:15 computing-server-01 sshdo[3815]: type="training" user="root" remoteip="172.16.0.126" command="bash -c \"set -o pipefail; /opt/TurboVNC/bin/vncserver -kill :2 | sed 's/^/[TURBOVNC] /g'\""
可以看到,sshdo training日志位于/var/log/messages日志中,将TurboVNC相关的命令取出来,参考上一篇文章(使用sshdo限制incoming ssh只能执行指定命令)[https://blog.csdn.net/thesre/article/details/129135045] 配置sshdo,就能够实现login server只支持TurboVNC客户端来连接,而不能够ssh连接过来做交互式的操作。
总结
sshdo是一款优秀的小工具,满足ssh的安全方面的需求。