今天在www.linuxtone.org看到一篇文章,经过了实践操作,感觉很有用于是就转过来了,谢谢原作者的共享。

Linux下两个远程登陆用户如何共享同一个登陆shell,以实现远程教育或远程协助

在Linux下,有一个基于expect工具:kibitz可以实现两个登陆用户(可以是同一个用户,例如root但是通过不通的终端登陆的)。因此首先要保证linux安装有tcl和expect两个rpm包。


安装完以后就会发现系统已经有kibitz这个命令了:

[root@mail root]# whereis kibitz
kibitz: /usr/bin/kibitz /usr/share/man/man1/kibitz.1.gz

首先发起共享shell请求乙方输入 w 来察看当前登陆用户:

[root@mail root]# w
17:16:32  up 3 days,  9:00,  2 users,  load average: 0.45, 0.37, 0.35
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     pts/0    219.237.180.135   5:04pm 10.00s  0.04s  0.01s  w
root     pts/1    219.237.180.135   5:15pm  0.00s  0.04s  0.01s  /bin/bash

可以看到发起一方的登陆终端为 pts/0,另外一方为 pts/1
这时候,发起一方运行 :

[root@mail root]# kibitz -tty pts/1 root
asking root to type:  kibitz -11946
Escape sequence is ^]

在被邀请一方的终端上会出现以下提示:

[root@mail root]#
Message from root@mail on pts/0 at 17:16 ...
Can we talk? Run: kibitz -11946
EOF

被邀请方在终端输入:

#kibitz --11946
即可实现双方共享同一个shell,无论哪方希望退出, 只需要输入 exit即可退出共享的shell终端。