帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 使用SSH配置文件来管理与多台远程服务器的SSH连接

使用SSH配置文件来管理与多台远程服务器的SSH连接

发布时间:2020年05月11日 09:09:36    来源: A5互联

如果您稍微熟悉SSH,就会知道可以使用它远程连接Linux系统的服务器。使用SSH连接到远程系统非常简单。你所需要做的就是使用这样的命令:

ssh user@server_IP

这连接到默认的SSH端口22。如果你想的话,你也可以指定端口。

现在,如果你只有一个服务器,这一切都很简单。即使你不记得服务器的IP地址,你也可以使用快捷键Ctrl+R来进行历史记录的反向搜索,找到你过去使用的SSH命令。

但当你有几台服务器需要管理时,事情就变得复杂了。如果您有数十台服务器,需要时不时地连接到这些服务器。有些是生产服务器,有些是测试服务器。

现在要跟踪这些服务器并不容易。即使我能从历史记录中找到SSH命令,也很难猜出哪个IP属于哪个服务器。

当然,您可以在本地系统上保留一个列表,但更好更简单的方法是使用SSH配置文件。

使用SSH配置文件轻松连接到远程服务器。

SSH配置文件允许您为不同的主机配置创建不同的配置文件。此类配置文件没有限制,您可以添加尽可能多的配置文件。

因此,如果您通过SSH连接到多个远程系统,则创建SSH配置文件将是节省时间的好方法。

让我告诉你如何使用它。

1、创建SSH配置文件

当你安装SSH,你会自动创建一个〜/ .ssh目录。该直接目录包含您的公共密钥,私有密钥一个known_hosts文件。您的配置也存储在这里。

在Ubuntu上,默认情况下不会创建SSH配置文件。您可以使用如下的touch命令轻松创建此文件:

touch ~/.ssh/config

2、在配置文件中添加SSH配置文件

现在您有了SSH配置文件,您可以使用Vim或Nano对其进行编辑。让我向您展示一个应遵循的语法示例。

假设您连接到IP 275.128.172.46的服务器。您的用户名是alice,该服务器用于托管您的网站。要加强SSH安全性,请使用端口1500而不是默认的SSH端口22。

您可以通过以下方式在〜/ .ssh / config文件中添加所有这些信息:

Host website

Hostname 275.128.172.46

User alice

Port 1500

只需将信息保存在文件中即可。无需重新启动任何服务。

现在,而不是像这样写一个长命令:

ssh alice@275.128.172.46 -p 1500

您可以只使用以下命令(选项卡补全也可以):

ssh website

当您运行上述命令时,ssh在〜/ .ssh / config中查找一个名为website的主机。如果找到具有该名称的主机,它将获取所有相关信息,并将其用于建立SSH连接。

您可能想知道一些事情,所以在这里我将提及:

输入主机信息时,没有空格或制表符缩进限制。空格或制表符缩进用于使配置文件易于理解。

主机名可以是服务器的IP地址,也可以是网络上可以解析的主机名。

所有参数(例如主机名,用户和端口)都是可选的。但是,我个人建议至少保留主机名,因为多数时候这就是您所需要的(并且您会忘记)。

如果您的SSH配置文件配置错误,则在尝试将其用于SSH连接时将导致错误。

您无法在SSH配置中保存密码。我建议您将公共SSH密钥添加到服务器,以方便访问。

3、在SSH配置文件中添加多个配置文件

上一步为您提供了有关如何添加SSH配置文件的想法。让我们通过在其中添加多个配置文件来进行下一步。

SSH配置文件如下所示:

Host website

Hostname 275.128.172.46

User alice

Port 1500

Host forum-server

Hostname 275.128.172.47

User alice


Host main-server

Hostname 275.128.172.49


Host common-test-server

Hostname test-server


Host *

User root

这次,我在其中添加了四个不同的SSH配置文件。

您是否注意到文件末尾的Host *条目?如果尚未为概要文件明确提及该参数,则可以使用此条目添加所有概要文件共有的参数。

因此,如果我尝试使用主服务器SSH配置文件,它将自动使用root用户。

ssh main-server = ssh root@275.128.172.49

4、SSH配置顺序

ssh配置遵循以下顺序:

命令行选项

用户的配置文件(〜/ .ssh / config)

系统范围的配置文件(/ etc / ssh / ssh_config)

这意味着,您输入的命令将获得第一优先级,然后依次查找〜/ .ssh / config和/ etc / ssh / ssh_config。

因此,如果要覆盖配置文件,可以使用ssh命令的-o选项来完成。

例如,如果我使用以下命令:

ssh -o "User=bob" website

将使用用户bob代替〜/ .ssh / config中定义的用户alice(在上一步中)。

5、SSH配置还有很多

老实说,SSH配置文件还有很多内容,您还可以使用名称/ IP匹配,子网以及其他内容。本文的目的是向您介绍SSH配置,并帮助您创建SSH配置文件以轻松连接到各种远程Linux系统服务器。