我需要vim
在远程服务器上做很多事情,需要通过 SSH 进入。我发现最好能在桌面上的多个窗口中查看多个文档,因此为此我打开了两个或三个到远程服务器的 SSH 会话。但这有点繁琐,因为我必须多次重新输入 un/pw,并且我必须确保每个窗口都保持足够活跃以防止自动注销。
有没有办法通过 SSH 进入一次然后将其搭载到不同的终端窗口上?(我主要使用 OSX 和 Ubuntu)。
答案1
Screen 和 tmux 为您提供了您正在寻找的答案,但为了稍微扩展您的问题,我建议您研究一下基于 SSH 密钥的身份验证的问题,这样您每次通过 SSH 进入远程服务器时都不需要用户名和密码:-)
答案2
另一个可能的替代方法是使用 sshfs。
sshfs 可让您通过 ssh 远程挂载远程计算机上可访问的任何目录,作为您计算机上的卷。效果很好。这样做的好处是,您可以像处理本地文件一样处理远程计算机上的所有文件。总的来说,它比 screen 更易于使用 - 您登录一次,然后对远程文件执行的任何其他操作都将像处理本地文件一样。
您的另一个选择是使用 vim 的功能通过 ssh 编辑远程文件。请参见此处:http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim
答案3
这并非你所要求的,但是 GNU屏幕实用程序可让您在单个窗口中拥有多个虚拟终端。它还可以防止连接中断,因为您可以重新连接到断开连接的屏幕会话。
答案4
您可以通过单个 SSH 连接运行多个 SSH 会话,方法是将第一次登录(设置连接)作为控制主机,然后让后续的 SSH 调用联系控制主机并通过主机已验证的连接转发其会话。
使用配置文件中的以下命令执行此操作:
Host somehost
# ~/tmp/sc must exist beforehand and should have mode 0700.
ControlPath ~/tmp/sc/%h.%p
ControlMaster auto
查看ssh_config(5)
手册页了解有关其工作原理的更多详细信息。