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

我想限制访问 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.....

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

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...