sshrc 脚本不再起作用

sshrc 脚本不再起作用

我有一个/etc/ssh/sshrc以前使用过的脚本,它运行良好。chmod 是 755

#!/bin/bash

ip=`echo $SSH_CONNECTION | cut -d " " -f 1`

if [[ $ip == 192.168.1.* ]] || [[ $ip == 127.0.0.1 ]] ;
then
  exit
fi

echo "User $USER just logged in from $ip" | sendEmail -t [email protected] -f [email protected] -u 'SSH login detected' > /dev/null

我最近升级到了 Ubuntu 22.04,现在出现此错误:

/etc/ssh/sshrc: 5: [[: not found

然后我发现了一个类似的脚本https://gist.github.com/mplinuxgeek/f08b91d2236b742f19c63579cd727167我在if这条语句上遇到了同样的错误。有什么想法吗?我知道它在 Ubuntu 18.04 中可以正常工作。我不确定它是否在 Ubuntu 20.04 中可以正常工作,因为自从 covid 以来,我很少使用 ssh 服务器。

编辑:看来 dash 正在运行。

$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Feb  8 19:08 /bin/sh -> dash

答案1

我认为 steeldrivers 的评论是正确的,在这种情况下您应该将双括号替换为单括号(以及双等号):

#!/bin/sh

ip=$( echo $SSH_CONNECTION | cut -d " " -f 1 )

if [ $ip = 192.168.1.* ] || [ $ip = 127.0.0.1 ] ;
then
  exit
fi

echo "User $USER just logged in from $ip" | sendEmail -t [email protected] -f [email protected] -u 'SSH login detected' > /dev/

相关内容