51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

如何使 SSH 更容易与配置文件一起使用

500.jpg

Secure Shell (SSH) 是每个 Linux 用户在某个时候可能会使用的工具之一。使用 SSH,您可以轻松(且安全地)登录到远程服务器和桌面,以管理、开发和检查这些机器。

使用 SSH 很简单:

ssh jack@192.168.1.11

甚至只是:

SSH 192.168.1.11

当然,您可以将 IP 地址换成您需要访问的机器的地址(或域)。

当您使用不同的配置(例如不同的用户名或 SSH 身份验证密钥)访问大量机器时,SSH 会变得不那么简单。想象一下,如果您每天必须登录 20 台左右不同的服务器。您不仅需要跟踪这些服务器的 IP 地址或域,还必须记住使用了哪些用户名或身份验证密钥。仅这一点就可能会变得相当压倒性。

值得庆幸的是,SSH 允许您创建一个配置文件来容纳所有这些信息。因此,您不必输入ssh olivia@192.168.1.100 -p 2222之类的内容,只需输入ssh web1即可。

让我向您展示这是如何完成的。

创建 SSH 配置文件

登录到您用来通过 SSH 连接到所有这些远程机器的 Linux 机器。打开一个终端窗口并使用图 A所示的命令创建新的配置文件。

图A


image.png

由于这是一个新文件,它将是一个空白画布,我们可以开始向其中添加服务器配置。假设您要配置以下远程服务器:

  • web1 在 192.168.1.100 与用户 olivia

  • db1 位于 192.168.1.101,用户 nathan 和 SSH 密钥 ~/.ssh/id_nathan

  • docker1 在 192.168.1.102,用户 lilly 在端口 2222

我们的第一个条目将如下所示:

主机“web1”
     主机名“192.168.1.100”
     用户 olivia

如果此时保存并关闭文件,您可以使用以下命令通过 SSH 连接到 192.168.1.100:

ssh web1

让我们继续配置接下来的两个条目,如下所示:

主机 db1
     主机名“192.168.1.101”
     用户 nathan
     身份文件 ~/.ssh/id_nathan
     公钥认证是主机 docker1
     主机名“192.168.1.102”
     用户礼来
     端口 2222

保存并关闭文件。您现在可以使用以下命令将 shell 保护到这些机器中:

ssh web1ssh db1ssh docker1

您可以为每个主机使用所需的任何昵称,让它们令人难忘,这样您就不会忘记您要访问的机器,并且必须不断引用配置文件来破坏您的记忆。

但是,假设您在所有远程服务器上使用相同的用户名,但在本地计算机上使用不同的用户名。例如,您的本地计算机用户名可能是 jack,但您已在所有远程服务器上创建了 admin 用户。您可以使用 IP 地址中的通配符为所有这些服务器创建一个条目,如下所示:

主机 192.168.1.*用户管理员

上述配置将放置在配置文件的顶部。

然后,您可以根据需要单独配置每个服务器,而忽略"用户"选项。例如,如果 192.168.1.200 和 192.168.1.201 的两个服务器都使用 SSH 密钥认证,您可以像这样配置条目:

主机 web2
     主机名 192.168.1.200
     身份文件 ~/.ssh/id_admin
     公钥认证是主机 web3
     主机名 192.168.1.201
     身份文件 ~/.ssh/id_admin
     公钥认证是

因为我们将用户 admin 应用于 IP 地址方案 192.168.1.x 上的整个机器范围,所以该用户名将应用于所有连接。您还可以根据需要通过添加用户配置行来覆盖该全局配置。

SSH 配置文件允许其他几个选项(所有这些都可以在官方 SSH 配置文档中阅读【https://www.ssh.com/academy/ssh/config】),但是上面显示的这些示例应该是您使用 SSH 配置文件所需的一切。

这就是使用 SSH 配置文件帮助您更轻松地使用 Secure Shell 进行远程访问的全部内容。

赞(1)
未经允许不得转载:工具盒子 » 如何使 SSH 更容易与配置文件一起使用