因此基本上每次用户使用命令 ssh 时我都想启动一个脚本,该脚本获取他输入的用户名和时间以及他想要 ssh 连接的 ip 地址,然后将它们发送到他尝试 ssh 连接的服务器。
这可能吗?什么命令可以做到这一点。
谢谢
答案1
假设您使用的是基于 'nix 的机器,您可以使用以下脚本:
# ssh script to grab username, date/time, and destination
first=`echo "$*" | cut -d "@" -f 1`
last=`echo "$*" | cut -d "@" -f 2`
time=`date`
ip=`echo $last | cut -d " " -f 1`
user=`echo $first | rev | cut -d " " -f 1 | rev`
echo "At $time, $USER on $HOSTNAME attempted to ssh to $user@$ip" >> sshlog.txt
ssh $*
endtime=`date`
echo "At $endtime, $USER on $HOSTNAME exited an ssh session to $user@$ip" >> sshlog.txt
只需将 ssh 别名到此脚本的位置,例如,alias ssh=/home/bob/bin/ssh
一切都应该正常工作。