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


15

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

当我在家时这不是问题,因为我使用公共密钥加密来进行无密码登录。但是,我经常在大学里使用计算机来执行此操作,因此我无法选择使用私钥。输入我的密码4到5次以获取多个终端窗口很烦人。

如何通过单个连接获得多个终端?

Answers:


38

只需使用GNU屏幕,这非常好,因为您可以启动远程会话并在连接断开时恢复它们。它是大多数发行版的软件包,甚至可能已安装在您的大学系统中。

手册将为您提供入门所需的全部信息,默认情况下,所有命令都以开头Ctrl+A。例如,要调出屏幕帮助,只需按Ctrl+A然后按?


我担任Linux管理员已有数年,每天要使用屏幕多次。

没有屏幕,没有服务器是完整的。
Gert M

2
在过去几个小时使用屏幕后,我简直无法相信我没有它!我花了5年时间做错了事。
epochwolf,2009年


4

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

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

基本上,在ssh连接共享上进行Google搜索,您会发现很多其他文章。


1
有趣。一个问题是,如果我的互联网连接断开,我将无法在不删除套接字的情况下重新连接。如果无法连接,如何进入服务器删除套接字?
epochwolf,2009年

您不必删除服务器上的套接字,它只是客户端共享。因此,您只需运行一次“ ssh foo”,它就会在运行ssh foo命令的同一台计算机上创建套接字。服务器在单独的tty上看到多个登录,因此它不知道与“普通”单独的登录有什么不同。
David Gardner,2009年

3

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


服务器未安装X11。另外,在无法安装X服务器的Windows系统上也不可行。
epochwolf,2009年

Linux服务器不需要X11即可运行显示在本地桌面上的图形应用程序。另外,Cygwin X-Server非常适合从我的家用Linux机器上运行Firefox之类的东西(我的家用机器上没有运行X),它们在我的本地Windows笔记本电脑上也能正常显示。
–'shapr

2

您没有给出令人信服的理由,说明您无法使用其他系统的私钥。每台机器生成它们并将适用的密钥添加到authorized_hosts

仍然,使用屏幕。


在公用计算机上使用私钥是个好主意吗?特别是考虑到我没有在密码上加密码?
epochwolf,2009年

1
您不会使用与其他地方相同的密钥-您将生成一个新密钥(带有密码)并将其公钥添加到服务器上的authorized_keys文件中。将其命名为“ portablekey”,如果您认为它可能已被破坏,则将其从authorized_keys中删除。
Neall,2009年

2

您可能还想看看byobu。它是Screen的增强版,我相信它是Ubuntu项目。但是它是Ubuntu 9.10和更高版本的标准配置。

尽管有习惯,我还是倾向于使用Screen,但是我想提一下这种更新的选择。


1

如果您使用它的目的是拖尾几个文件,那么您可能也对multitail感兴趣。


有趣的链接。我刚刚提到了我最常用的用法。我还需要在vim和bash之间切换以查找路径。
epochwolf,2009年

1

一个未提及的屏幕功能是“分离”屏幕,它将继续运行您在该组屏幕中运行的所有命令。分离屏幕后,您可以注销,即使注销后,所有内容仍会消失。我将启动屏幕,然后执行几个c命令来创建新的“子屏幕”。我可以在它们之间进行切换,并开始长时间运行的编译或数据处理,请放心,我糟糕的VPN连接不会导致所有故障。

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


0

screen与配合使用ssh,请键入

ssh -t <user>@<server> screen -r

来源)。ssh:

-t强制伪终端分配。这可用于在远程计算机上执行任意基于屏幕的程序,这可能非常有用,例如在实现菜单服务时。即使ssh没有本地tty,多个-t选项也会强制tty分配。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.