加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 用于日志检索的有限SSH访问

发布时间:2020-12-13 16:52:40 所属栏目:Linux 来源:网络整理
导读:我想限制访问 Linux服务器以获取一组特定的日志.理想情况下,我希望能够在本地运行rsync以从服务器获取日志,出于安全考虑,我不想为用户提供完整的ssh登录访问权限. 解决方法 仅为此目的创建单独的用户.让用户仅使用SSH密钥登录.在用户的authorized_keys文件中
我想限制访问 Linux服务器以获取一组特定的日志.理想情况下,我希望能够在本地运行rsync以从服务器获取日志,出于安全考虑,我不想为用户提供完整的ssh登录访问权限.

解决方法

仅为此目的创建单独的用户.让用户仅使用SSH密钥登录.在用户的authorized_keys文件中,编辑公钥以仅允许命令.该命令不应该是指向shell脚本的指针;而是直接将shell脚本插入到密钥中.

这是一个例子.这里的设置是在服务器上,有一个cron作业将每日日志移动到/ var / log / logfetch.另一台具有IP 10.1.2.3的服务器将连接并发送命令.如果该命令是BACKUP,则客户端将在/ var / log / logfetch目录中接收文件的gzip压缩文件.如果它是文件名,则将删除/ var / log / logfetch中具有该名称的文件.任何其他命令都将被忽略.将记录所有命令.仅允许来自该IP地址的连接.

from="10.1.2.3",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="read ARG;HOST=$(/usr/bin/hostname);if [ "$ARG" = "BACKUP" ]; then cd /var/log/logfetc;/usr/bin/tar -cf - *;/usr/bin/logger -t LOGFETCH -p daemon.info "INFO: Backup-files on $HOST fetched from ${SSH_CLIENT%% *} by $USER";else cd /var/log/logfetch; if [ -f $ARG ]; then /usr/bin/rm $ARG;/usr/bin/logger -t LOGFETCH -p daemon.info "INFO: Backup-file "$ARG" removed on $HOST by $USER";else /usr/bin/logger -t LOGFETCH -p daemon.info "WARNING: $USER failed to remove "$ARG" on $HOST";exit -1;fi;fi " ssh-dss AA.....

对于您的特定情况,这可能是过度的,但是第三方滥用并且应该可以适应您的特定需求是相当困难的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读