每天早上,我必须在 Linux 发行版上打开许多远程会话,将会话标记为 Windows,键入 ssh user@server 并 cd 到该服务器上的目录。我想节省时间并自动按以下方式执行此操作:
假设在一个框架内打开五个不同的远程会话终端窗口,让它们自动标记为“Windows、Windows 等”,让它们通过 ssh 连接到远程服务器,最后 cd 到这些远程服务器上的某个目录,所有操作只需一个终端命令或 GUI 单击即可完成。
有哪些方法可以实现这一点?
答案1
您可以尝试 ClusterSSH 应用程序:
答案2
答案3
你可以写一个简单的脚本:
#!/usr/bin/bash
xterm -T "Window 1" -e "ssh -t user@server1 'cd /usr/share; othercmd; bash -i' "&
xterm -T "Window 2" -e "ssh -t user@server2 'cd /usr/share; othercmd; bash -i'"&
xterm -T "Window 3" -e "ssh -t user@server3 'cd /usr/share; othercmd; bash -i'"&
xterm -T "Window 4" -e "ssh -t user@server4 'cd /usr/share; othercmd; bash -i'"&
这将生成 xterms(根据需要使用另一个终端程序),每个终端都登录到指定的服务器(server1-4),然后运行指定的命令(cd 和 othercommand)并让指定的 shell(bash)保持运行。标题使用 -T 选项设置(对于 xterm,其他终端仿真器可能... 有不同的选项)。
不算漂亮,但也不至于太可怕。
您也可以使用 screen 而不是 xterms,并且可能在特定的 screen.rc 文件中完成所有操作。XFCE 终端程序(我目前最喜欢的程序,可在 XFCE 之外的任何其他 DE 中使用)接受相同的命令行选项。Gnome-terminal 不接受。不确定 KDE 或其他程序,但我确信有类似的东西。
在 XFCE 终端中,用如下一行替换该脚本:
#!/usr/bin/bash
Terminal --tab -T "Window 1" -e "ssh -t root@flock 'cd /usr/share; bash -i' " --tab -T "Window 2" -e "ssh -t root@treepie 'cd /usr/share; bash -i'" --tab -T "Window 3" -e "ssh -t root@magpie 'cd /usr/share; bash -i'" --tab -T "Window 4" -e "ssh -t root@raven 'cd /usr/share; bash -i'"&
...您将获得一个带有多个标签的窗口。
答案4
安全面板有ClusterSSH 集成,维护您的远程主机书签并为终端窗口添加标题。