编辑:佚名 2021-05-14 15:28:49 来源于:魔法系统之家下载
如果您稍微熟悉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系统服务器。