智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

使用ssh配置文件提升远程管理服务器效率

1. 前言

本文主要讲解如何使用ssh配置文件提升ssh远程管理服务器的效率。

使用ssh配置文件提升远程管理服务器效率
熟悉Linux管理的用户,就会知道SSH协议可以用来连接远程Linux系统。

使用SSH连接远程系统非常简单。你所需要做的就是使用这样的命令:

ssh user@server_IP 

这将连接到SSH默认端口22。如果需要,也可以指定端口。

现在,如果只有一台服务器,这就很简单了。即使您不记得服务器的IP地址,也可以使用终端键盘快捷键Ctrl+R对历史进行反向搜索,找到您以前使用的SSH命令。

但是当您需要管理多个服务器时,事情就变得复杂了。我有大约10个服务器,我不定时需要连接它们。有些是生产服务器,有些是测试服务器。

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

当然,我可以在阿里云、百度云和腾迅云上打开我的服务器信息,以获得IP或在本地系统上保存一个列表。

更好、更简单的方法是使用SSH配置文件。

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

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

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

我来教你怎么用。
使用SSH配置文件轻松连接到远程服务器

2.1 步骤1:创建SSH配置文件

当您安装SSH时,您将有一个自动创建的ssh目录~/.ssh。此直接包含您的公钥、私钥、一个known_hosts文件。您的配置也存储在这里。

至少在Ubuntu上,SSH配置文件在默认情况下是不创建的。你可以很容易地使用touch命令创建这个文件,像这样:

touch ~/.ssh/config

2.2 步骤2:在配置文件中添加SSH配置参数

在配置文件中添加SSH配置参数

现在已经创建了SSH配置文件,可以使用vimnano编辑它。让我向您展示一个推荐的语法示例。

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

您可以按以下教程向~/.ssh/config file添加以下信息:

Host website
        Hostname 275.128.172.46
        User alice
        Port 1500

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

在配置之前,如果要登录远程服务器,我们会输入以下命令:

ssh alice@275.128.172.46 -p 1500

经过配置后,您只需要输入以下命令取替上述命令:

ssh website

当你输入上述命令时,ssh将会在ssh配置文件中查找website相关信息,用于建立SSH连接。

我在这里总结一下 您可能需要的一些信息:

  • 输入主机信息时不存在空格或制表符(TAB)缩进的限制。空格或制表符缩进用于使配置文件易于理解。
  • 主机名可以是服务器的IP地址,也可以是可以在网络上解析的主机名。
  • 所有参数(如主机名、用户和端口)都是可选的。但是,我个人建议至少保留主机名,因为这是您在大多数情况下需要的(而且您会忘记)。
  • 如果您的SSH配置文件配置错误,当您试图将其用于SSH连接时,它将导致一个错误。
  • 无法在SSH配置中保存密码。我建议将您的公共SSH密钥添加到服务器,以便于访问。

2.3 步骤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

2.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用户。

ssh_protocol.png

3. 更多的知识点

说实话,关于SSH配置文件的内容太多了,无法在一篇文章中讨论。您可以使用名称/IP匹配、子网等等。

本文的范围是向您介绍SSH配置并帮助您创建SSH配置文件,以便轻松地连接到各种远程Linux系统。

您可以参考ssh_config的手册页,以了解更多在创建SSH配置文件时可以使用的参数。

我希望这个教程对您有所帮助。如果您已经使用了SSH配置文件,并且有一些不错的技巧,请在评论部分与我们分享。

赞(0)
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!