如何在 Linux 上创建主机别名
如果您经常使用 Linux 系统连接到特定主机,则为主机名或 IP 地址创建别名会很方便。如果主机的名称或 URL 很长,并且您不想每次需要连接时都输入整个内容,则尤其如此。在 Linux 上创建主机别名的方法有多种,具体取决于您通常连接到主机的方式。
可以创建 SSH 别名、自定义环境变量,或将 IP 地址映射到 /etc/hosts
文件中的主机名或 URL。所有这些都将实现相同的目标,即在连接到主机时节省您在命令行上的一些击键。在本教程中,您将学习在 Linux 上创建主机别名的各种方法。
在本教程中您将学习:
如何通过 SSH 配置创建主机别名
如何通过环境变量创建主机别名
如何通过
hosts
文件创建主机别名
如何在 Linux 上创建主机别名
创建主机别名的方法取决于应用程序。我们将介绍以下各种方法 - 选择最适合您情况的一种。
为 SSH 创建主机别名
如果您需要创建主机别名以促进更快的 SSH 连接,那么这就是适合您的方法。假设您通常使用以下 SSH 命令:
$ ssh longusername@someserver.alongdomainname.com
每次输入这么长的用户名和主机名(或 IP 地址)会很麻烦,因此,我们可以将其简化为简单的内容,例如:
$ ssh myserver
请按照我们的分步说明应用此更改:
首先,在 nano 或您喜欢的文本编辑器中打开
~/.ssh/config
文件。如果该文件尚不存在,我们将创建它。$ nano ~/.ssh/config
在此文件内部,我们将使用以下设置来实现所需的配置,如上所示:
Host myserver User longusername HostName someserver.alongdomainname.com Port 22022
请注意,
Port
设置是可选的,但如果远程服务器不在默认端口 22 上运行 SSH,则可以节省一些额外的击键次数。保存对文件的更改后,您将能够通过指定主机别名进行 SSH。
$ ssh myserver
容易多了!
按照这些说明操作后,您可能还需要将 SSH 配置为无需密码即可连接。
通过环境变量创建主机别名
使用环境变量允许您使用命令行上的任何程序访问主机别名。例如,不要键入以下命令:
$ ping someserver.alongdomainname.com
我们可以将其简化为更简单的东西,例如:
$ ping $myserver
注意:主机通过我们选择的别名前面的 $
美元符号来引用。
首先,在 nano 或您喜欢的文本编辑器中打开
~/.bashrc
文件:$ nano ~/.bashrc
在此文件的底部,输入您的别名和主机名或 IP 地址。在此示例中,我们将使用主机名
someserver.alongdomainname.com
的别名myserver
。export myserver='someserver.alongdomainname.com'
保存更改并退出文件后,执行以下命令以使更改生效:
$ source ~/.bashrc
现在,只要您通常需要键入整个主机名或 IP 地址,就可以使用此环境变量。
$ ping $myserver OR $ ssh $myserver etc...
前面的说明显示了如何仅为当前用户创建环境变量。要了解如何创建系统范围的环境变量,请参阅有关如何在 Linux 上设置和列出环境变量的教程。
在hosts文件中创建主机别名
最后一种创建主机别名的方法仅在主机具有永不更改的 IP 地址时才有效,因为此方法要求我们将别名与 IP 地址绑定。
例如,我们将为 IP 地址 192.168.1.100
创建一个别名 myserver
。
让我们首先使用 root 权限编辑
/etc/hosts
文件。您可以使用 nano 或您喜欢的文本编辑器来执行此操作。$ sudo nano /etc/hosts
在此文件的末尾,我们将应用以下更改:
192.168.1.100 myserver
请注意,如果您愿意,可以应用多个别名:
192.168.1.100 myserver othername
保存对文件的更改并关闭它。现在,使用
myserver
别名将引用我们配置的 IP 地址。$ ping myserver OR $ ssh myserver etc...
要了解有关 /etc/hosts
文件及其工作原理的更多信息,请参阅有关 Linux 上的 Hosts 文件示例的其他教程。
结束语
在本教程中,我们了解了如何在 Linux 系统上创建主机别名。没有简单、通用的方法来实现这一点,但我们有一些选择,具体取决于应用程序,正如我们在本指南中看到的那样。通过 SSH 配置、环境变量或 hosts
文件创建主机别名应该可以节省您在命令行上的一些重复击键和时间。