在一个终端中执行 SSH 并复制它

在一个终端中执行 SSH 并复制它

我通常习惯于使用不同的终端打开不同的文件,指向同一个目录。我从 ubuntu 的一个终端 ssh 了一个服务器,我必须对所有终端执行相同的操作,有没有办法可以复制终端,这样我就不需要在每个终端上连接了?谢谢,如果这是重复的,请原谅,这似乎是一个非常常见的问题。

答案1

你可以使用 Linux Screen 来做你需要做的事情。这是一个很好的工具 :)

这是一个很好的教程

答案2

只需在服务器上安装byobuscreen即可。建议使用,因为它是(或)的包装脚本。tmuxbyobuscreentmux

这些是“命令行窗口管理器”——通过一个 SSH 会话,您可以打开许多“窗口”,每个窗口包含一个 shell,您可以在它们之间切换,并且即使断开连接,您正在运行的所有软件仍在运行。

在服务器上尝试一下:

sudo apt-get install byobu

然后执行byobu<F2>按 创建更多窗口 并按 和<F3><F4>窗口之间导航。按<Ctrl> + a + d断开您的会话(您的所有窗口将继续运行) - 如果 byobu 向您询问某事,请回答您想要使用类似屏幕的键盘快捷键。然后,如果您断开连接,重新连接并再次执行byobu,您将处于最后一个会话中,其中包含所有窗口。

显然,您也可以byobu在本地使用并只打开一个终端窗口(而不是终端应用程序中的选项卡,例如gnome-terminal,您将在里面有窗口byobu)。

答案3

您可以使用 OpenSSH 4.0 中的 ControlMaster 选项克隆您的 SSH 会话(旧版本不支持此功能)。查看此简单易懂的教程

答案4

Tmux/screen 很好,但是在窗口管理器中的终端中拥有多个终端有点不舒服,内层的窗口管理器是 tmux/screen。

为此,我设置了按键绑定,可以启动终端,通过 ssh 连接到我最常连接的系统。例如,按Super+F5即可执行urxvt -e ssh common-server-1

因为我为这些系统设置了密钥,所以我只需要在第一个终端输入密钥解密密码,它会保持缓存足够长的时间以启动其他终端,并立即转到远程系统的 shell 提示符。

为了快速将它们全部放在同一个目录中,我利用了 shell 历史记录。我想要的目录通常是我最后访问的目录,所以我只需cd Ctrl+pEnter就可以到达那里。

相关内容