在Linux服务器上,如何通过单个ssh连接使用多个terminal?

我经常发现自己打开几个SSH连接,以便一次查看几个日志文件tail -f

当我在家时,这不是一个问题,因为我使用公钥encryption进行无密码login。 不过,我经常在我的大学里使用电脑来做这个,所以我没有select使用我的私钥。 input我的密码4到5次以获得多个terminal窗口令人讨厌。

我如何通过一个连接获得多个terminal?

只要使用GNU屏幕 ,这是很好的,因为你可以启动远程会话,并恢复他们,如果你的连接下降。 它可以作为大多数发行版的软件包,甚至可能已经安装在你的大学系统上。

本手册将为您提供启动所需的所有内容,默认情况下,所有命令均以Ctrl+A为前缀。 例如,要调出屏幕帮助,只需按Ctrl+A然后按?

屏幕允许您有多个terminal和更多(例如分离和重新连接到您的会话的能力)。

一些笔记让你去:

 Ctrl-a c create Ctrl-a d detach screen -r reattach Ctrl-a a toggle Ctrl-a " list 

还有一些推荐阅读:

看看下面两篇关于SSH连接共享的文章:

http://fermiparadox.wordpress.com/2008/06/19/ssh-connection-sharing/
http://protempore.net/~calvins/howto/ssh-connection-sharing/

基本上,做一个谷歌searchSSH连接共享 ,你会发现一堆其他文章。

可能的话,您可以使用X转发在本地桌面上打开多个远程xterm。

你没有给出任何令人信服的理由,为什么你不能使用其他系统的私钥。 生成每台机器并将适用的密钥添加到authorized_hosts

仍然使用屏幕。

你也可以看看byobu 。 这是一个屏幕的增强版本,我相信这是一个Ubuntu项目。 但它与Ubuntu 9.10和更新的标准。

我倾向于仍然习惯使用屏幕,但想提及这个更新的select。

如果你使用它只是拖曳几个文件,你也可能对multitail感兴趣。

一个未提及的屏幕function是“分离”屏幕,它将继续运行你在这组屏幕上运行的任何命令。 一旦屏幕被分离,您可以注销,即使注销后,它们也一直保持stream畅。 我将启动屏幕,然后执行几个c命令来创build新的“子屏幕”。 我可以在它们之间切换,并开始一些长时间运行的编译或数据处理,并确保我蹩脚的VPN连接赢得“一切都会因此而死”。

注销后,您可以重新login并使用“屏幕-R”,该屏幕将重新连接到您现有的屏幕sessoins。