云网牛站
所在位置:首页 > Linux云服务器 > 在Linux系统中创建SSH别名的两种方法

在Linux系统中创建SSH别名的两种方法

2019-04-30 10:56:13作者:李哲稿源:云网牛站

如果你经常通过SSH访问许多不同的远程系统,这个技巧将为你节省一些时间,可以通过SSH为频繁访问的系统创建SSH别名,这样就不必记住所有不同的用户名、主机名、ssh端口号和IP地址等,此外,无论何时SSH到Linux服务器,都可以避免重复输入相同的用户名/主机名、IP地址、端口号。

 

在Linux中创建SSH别名

在我知道这个技巧之前,我通常使用以下任何一种方式通过SSH连接到远程系统,参考在Ubuntu 18.04系统中启用SSH登录的方法

使用IP地址:

$ ssh 192.168.225.22

或使用端口号,用户名和IP地址:

$ ssh -p 22 sk@192.168.225.22

或者使用端口号,用户名和主机名:

$ ssh -p 22 sk@server.example.com

说明:

1]、22是端口号。

2]、sk是远程系统的用户名。

3]、192.168.225.22是我的远程系统的IP。

4]、server.example.com是远程系统的主机名。

我相信大多数新手Linux用户和/或管理员都会以这种方式通过SSH连接到远程系统,但是,如果通过SSH连接到多个不同的系统,记住所有主机名/IP地址,除非你将其写在纸上或将其保存在文本文件中,否则用户名有点困难,可以通过为SSH连接创建别名(或快捷方式),可以轻松解决此问题,我们可以用两种方法为SSH命令创建别名。

 

方法一:使用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 ostechnix

 Port 2233

在Linux系统中创建SSH别名的两种方法

用自己的值替换主机、主机名、用户和端口的值,添加所有远程主机的详细信息后,保存并退出该文件。

现在可以通过命令SSH进入系统:

$ ssh webserver

$ ssh dns

$ ssh dhcp

看看下面的截图,使用SSH别名访问远程系统:

在Linux系统中创建SSH别名的两种方法

如上图,我只使用别名(即webserver)来访问我的IP地址为192.168.225.22的远程系统。

请注意,这仅适用于当前用户,如果要为所有用户(系统范围)提供别名,请在/etc/ssh/ssh_config文件中添加以上行。

还可以在SSH配置文件中添加大量其他内容,例如,如果已配置基于SSH密钥的身份验证,请提及SSH密钥文件位置,参考在Ubuntu 18.04服务器上设置SSH双因素身份验证的方法,如下所示:

Host ubuntu

 HostName 192.168.225.50

 User senthil

 IdentityFIle ~/.ssh/id_rsa_remotesystem

确保已使用自己的主机名替换主机名,用户名和SSH密钥文件路径。

现在使用以下命令连接到远程服务器:

$ ssh ubuntu

这样就可以使用别名快速访问它们。

 

方法二、使用Bash别名

这是创建SSH别名以加快通信速度的快捷方式,可以使用alias命令使此任务更容易,参考用alias命令实现节省时间的15个命令行别名应用

打开~/.bashrc或~/.bash_profile文件:

像下面一样逐个为每个SSH连接添加别名:

alias webserver='ssh sk@192.168.225.22'

alias dns='ssh root@server.example.com'

alias dhcp='ssh ostechnix@192.168.225.25 -p 2233'

alias ubuntu='ssh senthil@192.168.225.50 -i ~/.ssh/id_rsa_remotesystem'

再次确保已使用自己的主机、主机名、端口号和IP地址替换,保存文件并退出。

然后,使用命令应用更改:

$ source ~/.bashrc

或者:

$ source ~/.bash_profile

在此方法中,不需要使用ssh alias-name命令,相反,只需使用别名,如下所示:

$ webserver

$ dns

$ dhcp

$ ubuntu

在Linux系统中创建SSH别名的两种方法

至此,目的达到。

 

总结

其实上面的这两种方法都非常简单,对于那些经常通过SSH连接到多个不同系统的人来说非常有用,使用适合你的任何一种方法,通过SSH快速访问远程Linux系统。

 

相关主题

在Linux系统中允许或拒绝SSH访问特定用户或组的方法

精选文章
热门文章