Bash 如何在ssh会话中记录命令?

Bash 如何在ssh会话中记录命令?,bash,logging,ssh,debian,telnet,Bash,Logging,Ssh,Debian,Telnet,我有一个debian服务器,用户可以ssh访问它,并在上面执行telnet会话。 我的要求是log所有用户命令的执行,以及telnet会话中运行的命令 我在搜索解决方案时找到了script软件,它可以满足我的需要 我尝试通过在/home/username/.profile中添加以下行来测试它,但它运行2个script进程,需要运行两次exit才能退出ssh会话 Log commands in each session if [[ -n $SSH_CONNECTION ]] ; then

我有一个
debian
服务器,用户可以
ssh
访问它,并在上面执行
telnet
会话。 我的要求是
log
所有用户命令的执行,以及
telnet
会话中运行的命令

我在搜索解决方案时找到了
script
软件,它可以满足我的需要

我尝试通过在
/home/username/.profile
中添加以下行来测试它,但它运行2个
script
进程,需要运行两次
exit
才能退出
ssh
会话

Log commands in each session
if [[ -n $SSH_CONNECTION ]] ; then
    script test.txt
fi
有人知道为什么会发生这种情况,或者如何解决它,或者更好的解决方案吗

谢谢大家!

使用exec:

exec script test.txt
使用exec:

exec script test.txt

启用审核。这可能会有帮助:嗨@Cyrus,我也检查过了,但不会记录telnet会话内容。这就是我选择“脚本”的原因。启用审核。这可能会有帮助:嗨@Cyrus,我也检查过了,但不会记录telnet会话内容。这就是我选择“脚本”的原因。实际上,这解决了问题。用户不必退出ssh会话两次。谢谢你。但我仍然看到两个脚本进程。实际上,这解决了问题。用户不必退出ssh会话两次。谢谢你。但我仍然看到2个脚本进程。