如何使用 Linux 中的 ssh 高效地连接多台服务器

如何使用 Linux 中的 ssh 高效地连接多台服务器

我们在办公室运行 VSphere,这意味着我使用许多不同的 ssh 连接系统。我非常喜欢姆普蒂摩巴Xterm在 Windows 上,因为它们会保存并记住我如何连接到我的服务器。因此只需双击即可连接。

问题是,我大部分时间都在使用直接命令行运行 Linux。我想找到 Linux 的 mputty 等效程序。某种 SSH 连接管理器,允许我根据以前的连接连接到我的服务器。

到目前为止,我正在使用 CTRL-R 并从历史记录中选择,但兴趣有限,因为我仍然必须输入凭据。

你们都用什么? 最好的情况下,我不希望依赖外部软件,而是直接从 CL 获取。

答案1

这是一个产品推荐问题,因此无关

但是,我建议采用另一种方法:~/.ssh/config。我使用它来存储特定主机的所有非标准参数,因此很少使用超出范围的任何东西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 代理。这样,您只需解锁一次私钥,然后使用解锁的私钥进行任意数量的连接。

答案2

答案3

您不能使用公钥/私钥对进行授权吗?

比将密码存储在硬盘上安全得多。而且,当您从一台主机跳转到另一台主机(或使用 scp 复制文件)时,您无需输入密码。

使用 ssh-keygen 生成公钥/私钥对。然后将公钥部分复制到要登录的每个主机上的 ~/.ssh/authorized_keys 文件中。

使用本地桌面上的 ssh 代理,登录后只需输入一次密码,然后无需输入任何密码即可登录到每个系统。

相关内容