如果您经常通过SSH访问许多不同的远程系统,这种技术将为您节省一些时间。您可以通过SSH为频繁访问的系统创建SSH别名,因此您不必记住所有不同的用户名,主机名,SSH端口号和IP地址。此外,它还可以避免在SSH服务器时重复输入相同的用户名,主机名,IP地址和端口号。
在Linux中创建SSH别名
在我知道这个技巧之前,我通常使用以下任一方法通过SSH连接到远程系统。
使用IP地址:
$ ssh 192.168.225.22
或使用端口号,用户名和IP地址:
$ ssh -p 22
[email protected]
或使用端口号,用户名和主机名:
$ ssh -p 22
[email protected]
这里
22是端口号,
Sk是远程系统的用户名。
192.168.225.22是我的远程系统的IP,
Server.example.com是远程系统的主机名。
我相信大多数Linux新手和/或一些管理员都会以这种方式通过SSH连接到远程系统。但是,如果通过SSH连接到多个不同的系统,则记住所有主机名或IP地址以及用户名很困难,除非您将它们写在纸上或将其保存在文本文件中。别担心!通过为SSH连接创建别名(或快捷方式)可以轻松解决此问题。
我们可以通过两种方式为SSH命令创建别名。
方法1 - 使用SSH配置文件
这是我创建别名的首选方法。
我们可以使用SSH默认配置文件来创建SSH别名。要执行此操作,请编辑〜/.ssh/config文件(如果此文件不存在,只需创建一个):$ vi~/.ssh/config
添加所有远程主机的详细信息,如下所示
主机网络服务器
主机名192.168.225.22
用户sk
主持人dns
HostName server.example.com
用户root
主机dhcp
主机名192.168.225.25
用户骨科
港口2233
使用SSH配置文件在Linux中创建SSH别名
使用SSH配置文件在Linux中创建SSH别名
使用您自己的值替换主机,主机名,用户和端口配置的值。添加所有远程主机的详细信息后,保存并退出该文件。
现在,您可以使用以下命令通过SSH访问系统:
$ ssh webserver
$ ssh dns
$ ssh dhcp
就这么简单!
看一下下面的截图。
使用SSH别名访问远程系统
使用SSH别名访问远程系统
看见?我只使用别名(例如webserver)来访问IP地址为192.168.225.22的远程系统。
请注意,这仅适用于当前用户。如果要为所有用户(系统范围)提供别名,请将以上行添加到/etc/ssh/ssh_config文件中。
您还可以在SSH配置文件中添加许多其他内容。例如,如果已配置基于SSH密钥的身份验证,则SSH密钥文件的位置如下所示:
主持ubuntu
主机名192.168.225.50
用户senthil
IdentityFIle~/.ssh/id_rsa_remotesystem
确保已使用自己的值替换主机名,用户名和SSH密钥文件路径。
现在使用以下命令连接到远程服务器:
$ ssh ubuntu
这样,您可以添加要通过SSH访问的任意数量的远程主机,并使用别名快速访问它们。
方法2 - 使用Bash别名
这是创建SSH别名以加快通信的紧急解决方法。您可以使用alias命令使此任务更容易。
打开〜/.bashrc或〜/.bash_profile文件:Alias webserver='ssh
[email protected]'
别名dns='ssh
[email protected]'
别名dhcp='ssh
[email protected] -p 2233'
别名ubuntu='ssh
[email protected] -i~/.ssh/id_rsa_remotesystem'
同样,请确保已使用您自己的值替换主机,主机名,端口号和IP地址。保存文件并退出。
然后,使用该命令应用更改:
$ source~/.bashrc
要么
$ source~/.bash_profile
在此方法中,您甚至不需要使用ssh alias命令。相反,只需使用如下所示的别名。
$ webserver
$ dns
$ dhcp
$ ubuntu
这两种方法非常简单,但对于经常通过SSH连接到许多不同系统的人来说,它们非常有用和方便。使用上述任何方法,通过SSH快速访问远程Linux系统。