使用sshdo限制incoming ssh只能执行指定命令

编程入门 行业动态 更新时间:2024-10-17 13:35:57

使用sshdo限制incoming ssh只能执行指定<a href=https://www.elefans.com/category/jswz/34/1771323.html style=命令"/>

使用sshdo限制incoming ssh只能执行指定命令

前言

系统管理员经常面临一个问题,如何将用户的incoming ssh限制在一个命令白名单里,达到安全的目的。本文介绍sshdo工具,来实现该功能。

仓库地址

安装

tar xzf sshdo-1.1.tar.gz #如果是直接clone仓库则无需解压。
cd sshdo-1.1
make check
sudo make install

阅读手册

sshdo手册

sshdoers手册

本质上,是sshdo拦截了ssh请求,并通过读取sshdo配置文件来判断待运行命令是否在白名单里。

总的来说,管理员需在两处设置

  • 在ssh配置文件,设置incoming ssh只能运行 `/usr/bin/sshdo [label]` 命令;

  • 在sshdo配置文件设置,设置具体谁可以执行什么命令。

实验

实验一

说明:本方式适用于key-pair认证

ssh配置文件

[root@centos7-9-vm-120 ~]# cat /root/.ssh/authorized_keys 
command="/usr/bin/sshdo" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDxXoyal7McujoUIeQe8uellc/iaET9WU0cubaYn4RKSX8oxrNhK81HPHpAdVe37Rnv2wd3AHChcJ88IdgFo6KRUEJimIskQLkTll57uAq+cNu3hxPqcgfRMzosDU1VWFwNqpcEjqDosn0ule6oK+DP2sobND7w4KsUDaTAb+1vPMFgpO0UJ49hu+4LUeNxL4e1N57CQ6rOwRmYbzMcEz3PHC3h1gKlvVZfzcCH5waaRFfFCXtxnVTAyzdpStbTQcUokvef+r+RDiNl9UGtf6SpII1K6pgG8iai7xC1Uplup0tqM7cPerUdU7gSQTDWkFfFfH6DE3b3Tj1HkM7A2HOBjh6iSMY2fMktwf4iz/LIW1NnXkpXGGplvu8FG5otirOcU6OeAJGRSbdkHruo6ZiryeYfos5gQHkOU9HV4F3KHWdRrveEWVYCJAop4DZX/fUuMTDP4nXIIrlTqxcJj9dSk+L6Ff56h3vxqKE/QawZ385v1A2iXkdIKva33IAhK+U= ben@Bens-MBP

sshdo配置文件

[root@centos7-9-vm-120 ~]# cat /etc/sshdoers| grep -v '^#' | grep -v '^$'
root: hostname

效果

实验二

说明:本方式同时适用于密码、key-pair认证

ssh配置文件

注意:修改完请重启sshd,使得其生效。

[root@centos7-9-vm-120 ~]# tail -3 /etc/ssh/sshd_config
# added by wanlinwang for testing sshdo
Match User root
ForceCommand /usr/bin/sshdo

sshdo配置文件

[root@centos7-9-vm-120 ~]# cat /etc/sshdoers| grep -v '^#' | grep -v '^$'
root: hostname

效果

使用密码

使用key-pair

总结

本质上,利用了ssh内建的能力,限制incoming ssh只能执行sshdo。当ssh过来时,sshdo拦截了ssh请求,并通过读取sshdo配置文件来判断待运行命令是否在白名单里,来决定是否执行。

借助这个工具,我们可以做关于安全相关的事,比如login server只允许用户的incoming ssh执行vnc启动命令等。

更多推荐

使用sshdo限制incoming ssh只能执行指定命令

本文发布于:2024-03-13 21:32:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734898.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:命令   sshdo   incoming   ssh

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!