通过 slack 监控 SSH 登录但挂在 SCP 上

通过 slack 监控 SSH 登录但挂在 SCP 上

我正在尝试一些 Slack 集成,以便每次 SSH 尝试都会发送到 Slack 频道

下面的脚本非常适合 SSH 尝试,但问题是当我对服务器执行 SCP 时,终端会话挂起。

有没有办法在脚本或 SSH 配置中允许这样做?有没有办法在 SSH 或 SCP 之间进行选择?

SSH 更改为/etc/ssh/sshd_config

ForceCommand /home/ubuntu/ssh-wrapper  

会话挂起

% Total % Received % Xferd Average Speed Time Time Time

Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    97  100     2  100    95      4    192 --:--:-- --:--:-- --:--:--   231

脚本

#! /bin/bash

# Find the session's remote IP address
ip=`echo $SSH_CONNECTION | cut -d " " -f 1`

# Tell Slack we logged in!
curl -XPOST 'webhook goes here' -d '  
 {"text":"We have contact - Server '"$HOSTNAME"' via ssh from '"$ip"'", 
  "username":"SSH Monitor"}'

# Allow the session to run:
${SSH_ORIGINAL_COMMAND:-bash}

# Tell Slack we're logging out!
curl -XPOST 'webhook goes here' -d '  
 {"text":"Somebody disconnected on '"$HOSTNAME"' from '"$ip"'",
  "username":"SSH Monitor"}'

答案1

在下面添加了似乎有效的东西:-)

if echo $SSH_ORIGINAL_COMMAND|egrep -e "^scp " > /dev/null 2>&1; then
$SSH_ORIGINAL_COMMAND
fi

相关内容