如何使用Linux高效地使用ssh连接到多个服务器

我们在办公室运行VSphere,这意味着我正在使用很多不同的ssh连接到系统。 我真的很喜欢Windows上的Mputty和MobaXterm ,因为他们保存并记住我如何连接到我的服务器。 所以连接总是双击。

事情是,我大部分时间都在用Linux直接运行Linux。 我想find一个相当于linux的mputty。 某种SSH连接pipe理器,可以让我根据以前的连接连接到我的服务器。

到目前为止,我正在使用CTRL-R,并从历史中挑选,但利益是有限的,因为我仍然必须input凭据。

你们用什么? 我最好不要依靠外部软件,而是直接从CL获得。

这是一个产品推荐问题,使其脱离主题 。

不过,我build议另一种方法: ~/.ssh/config 。 我使用它来存储特定主机的所有非标准参数,因此很less使用ssh host以外的任何东西,甚至在bash别名中被抽象出来,最后我只用@ host连接到一台机器。

从我的文件中的一个例子:

 Host headnode Hostname headnode.cluster ProxyCommand ssh -a -X [email protected] netcat -v %h 22 User username_on_cluster ForwardX11 yes 

我所要做的就是使用ssh headnode

请参阅man ssh_config了解更多的想法。

而且,正如我忘记凭证部分:使用SSH密钥和SSH代理。 这样,您只需解锁您的私钥一次,然后使用您解锁的私钥,尽可能多的连接,只要你喜欢。

你不能授权使用公/私钥对吗?

比在硬盘上存储密码要安全得多。 而且当你从一台主机跳到另一台主机(或者使用scp复制文件)时,你可以获得无需input密码的好处。

您使用ssh-keygen生成公钥/私钥对。 然后,将公共部分复制到每个要login的主机上的〜/ .ssh / authorized_keys文件。

在本地桌面上使用ssh-agent,只需login一次就input密码,然后就可以在不input密码的情况下login到每个系统。