解决方法
您可以使用script命令记录所有终端输出,这在正常情况下包括所有类型的命令.
script -a -f -c 'ssh cisco.example.com' /var/local/log/ssh-cisco.log
script -f -c 'ssh cisco.example.com' "/var/local/log/ssh-cisco-$(date date +%Y-%m-%d_%H:%M:%S.%N).$$.log"
如果用户需要自己键入这些命令,他们当然会懒得做所有额外的输入以启用日志记录.并且在shell脚本中编写整个内容可能对你来说也不够好,因为我假设你不希望用户能够绕过日志记录.
因此,您希望避免用户有权绕过日志记录,并且您不希望他们对包含日志的目录具有写入权限.
您可以设置一个单独的组,该组具有对ssh密钥的读访问权以及对日志目录的写访问权.然后,您可以将脚本命令包装在set-group-id可执行文件或sudo中.