本文主要讲解如何使用ssh配置文件提升ssh远程管理服务器的效率。
使用ssh配置文件提升远程管理服务器效率
熟悉linux管理的用户,就会知道SSH协议可以用来连接远程Linux系统。
使用SSH连接远程系统非常简单。你所需要做的就是使用这样的命令:
ssh user@server_IP
这将连接到SSH默认端口22。如果需要,也可以指定端口。
现在,如果只有一台服务器,这就很简单了。即使您不记得服务器的IP地址,也可以使用终端键盘快捷键Ctrl+R对历史进行反向搜索,找到您以前使用的SSH命令。
但是当您需要管理多个服务器时,事情就变得复杂了。我有大约10个服务器,我不定时需要连接它们。有些是生产服务器,有些是测试服务器。
现在跟踪这些服务器并不容易。即使我可以从历史中找到SSH命令,也很难猜测哪个IP属于哪个服务器。
当然,我可以在阿里云、百度云和腾迅云上打开我的服务器信息,以获得IP或在本地系统上保存一个列表。
更好、更简单的方法是使用SSH配置文件。
SSH配置文件允许您为不同的主机配置创建不同的配置文件。这些配置文件没有限制,您可以添加尽可能多的配置文件。
因此,如果您通过SSH连接到多个远程系统,创建SSH配置文件将是一个节省时间的好方法。
我来教你怎么用。
使用SSH配置文件轻松连接到远程服务器
当您安装SSH时,您将有一个自动创建的ssh目录~/.ssh。此直接包含您的公钥、私钥、一个known_hosts文件。您的配置也存储在这里。
至少在Ubuntu上,SSH配置文件在默认情况下是不创建的。你可以很容易地使用touch命令创建这个文件,像这样:
touch ~/.ssh/config
在配置文件中添加SSH配置参数
现在已经创建了SSH配置文件,可以使用vim或nano编辑它。让我向您展示一个推荐的语法示例。
假设您用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连接。
我在这里总结一下 您可能需要的一些信息:
前面的步骤向您介绍了如何添加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
ssh配置如下:
这意味着~/.ssh/config 里的参数优于/etc/ssh/ssh_config
因此,如果您想覆盖一个概要文件,您可以使用ssh命令的-o选项来实现。
例如,如果我使用这个命令:
ssh -o "User=bob" website
它将接受用户bob,而不是使用配置文件~/.ssh/config定义的alice用户。
ssh_protocol.png
说实话,关于SSH配置文件的内容太多了,无法在一篇文章中讨论。您可以使用名称/IP匹配、子网等等。
本文的范围是向您介绍SSH配置并帮助您创建SSH配置文件,以便轻松地连接到各种远程Linux系统。
您可以参考ssh_config的手册页,以了解更多在创建SSH配置文件时可以使用的参数。
我希望这个教程对您有所帮助。如果您已经使用了SSH配置文件,并且有一些不错的技巧,请在评论部分与我们分享。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/rmxx/1693.html