帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何使用per-host的SSH配置 提升效率

如何使用per-host的SSH配置 提升效率

发布时间:2019年11月15日 09:57:45    来源: A5互联

Secure Shell (SSH)有很多使用技巧。有了大量的配置功能,您可以让SSH守护进程和客户机执行您需要的任何操作。大多数用户使用sshd_config和ssh_config文件完成SSH配置。但是,还有另一个配置文件使该工具更具灵活性。

该配置文件是~/.ssh/config。在该文件中,可以根据主机配置SSH。这意味着您可以配置不同的主机来执行不同的操作。

例如,如果您想设置一个特定的主机,并且启用了用户名、SSH密钥、批处理模式(这告诉SSH永远不要请求口令或密码),并且禁用了转义序列(这可以避免在传输任意数据时出现问题)。假设另一个配置将为特定域或IP地址方案上的任何主机使用特定用户。通过SSH配置文件,可以完成这些工作。

准备工作:安装了SSH的Linux服务器,任意数量的允许SSH连接的远程计算机

如何配置主机

我们将使用我前面准备的服务器实例。

我们的第一个主机:

设置一个用户名

指定SSH密钥

启用批处理模式

禁用转义序列

第二个主机将:

设定使用者名称

为特定网络上的所有主机启用用户名

要编辑必要的配置文件,请发出命令:

nano ~/.ssh/config

如果这是您首次配置SSH主机,则此文件为空。我们的第一个条目将如下所示:

Host Debian

HostName 10.34.1.40

User jack

IdentityFile ~/.ssh/id_rsa.pub

BatchMode yes

EscapeChar none

您可以根据自己的喜好为主机命名。在我的情况下,这是一台Debian服务器,因此Debian的名称是apropos。确保将HostName设置为远程服务器的IP地址或域,并将User设置为要使用的远程用户名。

保存并关闭文件。

由于我们将其设置为不要求输入密码或密码,因此需要设置SSH密钥身份验证。要将SSH密钥复制到远程服务器,请发出以下命令:

ssh-copy-id USERNAME@SERVER_IP

其中USERNAME是远程用户,而SERVER_IP是远程服务器的IP地址。

一旦完成了SSH密钥认证,就可以使用以下命令将SSH SSH到Debian主机中:

ssh Debian

系统不会要求您提供地址或密码。

接下来,让我们配置一个用户名,以在给定网络上的任何计算机上使用。假设用户名是jack,网络地址方案是192.168.1.0。该配置(同样在.ssh / config文件中)将是:

Host 192.168.1.*

User jack

保存并关闭文件。

当您想通过SSH连接到该网络上的任何计算机(使用默认用户名jack)时,只需发出以下命令:

ssh SERVER_IP

其中SERVER_IP是远程服务器的IP地址。只要登录服务器的IP是192.168.1.*,就不会要求输入用户名。

这是设置每个主机SSH配置的基础。您可以通过发出以下命令来了解有关这种类型设置的更多信息:

man ssh_config

通过使用此设置,不仅可以简化SSH的使用,而且可以提高效率。