如何在Linux中创建SSH别名
如果我们经常通过SSH访问大量不同的远程系统,则此技巧将为我们节省一些时间。
我们可以通过SSH将SSH别名创建到频繁访问的系统。
这样你不需要记住所有不同的用户名,主机名,SSH端口号和IP地址等。
另外,只要在将SSH中发送到Linux服务器时,它避免了重复键入相同的用户名/主机名,IP地址,端口号( s)。
在Linux中创建SSH别名
在我知道这个技巧之前,通常,我使用以下任何方式通过SSH连接到远程系统。
使用IP地址:
$ssh 192.168.225.22
或者使用端口号,用户名和IP地址:
$ssh -p 22 Hyman@theitroad
或者使用端口号,用户名和主机名:
$ssh -p 22 Hyman@theitroad
其中
- 22是端口号,
- SK是远程系统的用户名,
- 192.168.225.22是我远程系统的IP,
- server.example.com是远程系统的主机名。
我相信大多数新手Linux用户和/或者管理员将以这种方式SSH进入远程系统。
但是,如果我们分为多个不同的系统,请记住所有主机名/IP地址,除非我们将它们写入纸张或者将它们保存在文本文件中,否则用户名仍然很困难。
不用担心!这可以通过为SSH连接创建别名(或者快捷方式)来轻松解决。
我们可以以两种方法为SSH命令创建一个别名。
方法1 - 使用SSH配置文件
这是我创造别名的首选方式。
我们可以使用SSH默认配置文件来创建SSH别名。
为此,请编辑~/.ssh/config文件(如果此文件不存在,只需创建一个):
$vi ~/.ssh/config
添加以下所有远程主机详细信息:
Host webserver HostName 192.168.225.22 User sk Host dns HostName server.example.com User root Host dhcp HostName 192.168.225.25 User theitroad Port 2233
替换我们自己的主机,主机名,用户和端口的值。
添加了所有远程主机的详细信息,保存并退出文件。
现在,我们可以使用命令中的系统进行SSH:
$ssh webserver
$ssh dns
$ssh dhcp
这很简单。
我只使用别名名称(i webserver)来访问具有IP地址192.168.225.22的远程系统。
请注意,这仅适用于当前用户。
如果要使所有用户(系统宽)提供可用的别名,请在/etc/ssh/ssh_config文件中添加上述行。
我们还可以在SSH配置文件中添加大量其他内容。
例如,如果我们已配置SSH基于键的身份验证,请提及SSH密钥文件位置如下。
Host ubuntu HostName 192.168.225.50 User senthil IdentityFIle ~/.ssh/id_rsa_remotesystem
确保使用我们自己替换主机名,用户名和SSH密钥文件路径。
现在使用命令连接到远程服务器:
$ssh ubuntu
这样,我们可以添加尽可能多的远程主机,我们要通过SSH访问并使用其别名名称快速访问它们。
方法2 - 使用BASH别名
这是为更快的通信创建SSH别名的快速且肮脏的方法。
我们可以使用别名命令使此任务更容易。
打开~/.bashrc或者~/.bash_profile文件:
将每个SSH连接添加别名,如下面的那样一个。
alias webserver='ssh Hyman@theitroad' alias dns='ssh Hyman@theitroad' alias dhcp='ssh Hyman@theitroad -p 2233' alias ubuntu='ssh Hyman@theitroad -i ~/.ssh/id_rsa_remotesystem'
再次确保我们已使用自己的主机,主机名,端口号和IP地址替换。
保存文件并退出。
然后,使用命令应用更改:
$source ~/.bashrc
或者,
$source ~/.bash_profile
在此方法中,我们甚至不需要使用"ssh alias-name"命令。
相反,只需使用下面的别名名称。
$webserver $dns $dhcp $ubuntu
这两种方法非常简单,但对于那些经常被陷入多个不同系统的人来说,更有用,更方便。
使用任何一个上述方法,这些方法都适合我们通过SSH快速访问远程Linux系统。