|
|
51CTO旗下网站
|
|
移动端

如何在Linux中创建SSH别名

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

作者:Sk来源:Linux中国|2019-05-14 11:00

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

 如何在Linux中创建SSH别名

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

在 Linux 中创建 SSH 别名

在我知道这个技巧之前,我通常使用以下任意一种方式通过 SSH 连接到远程系统。

使用 IP 地址:

  1. $ ssh 192.168.225.22

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

  1. $ ssh -p 22 sk@192.168.225.22

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

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

这里

  • 22 是端口号,
  • sk 是远程系统的用户名,
  • 192.168.225.22 是我远程系统的 IP,
  • server.example.com 是远程系统的主机名。

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

我们可以用两种方法为 SSH 命令创建别名。

方法 1 – 使用 SSH 配置文件

这是我创建别名的***方法。

我们可以使用 SSH 默认配置文件来创建 SSH 别名。为此,编辑 ~/.ssh/config 文件(如果此文件不存在,只需创建一个):

  1. $ vi ~/.ssh/config

添加所有远程主机的详细信息,如下所示:

  1. Host webserver
  2. HostName 192.168.225.22
  3. User sk
  4.  
  5. Host dns
  6. HostName server.example.com
  7. User root
  8.  
  9. Host dhcp
  10. HostName 192.168.225.25
  11. User ostechnix
  12. Port 2233

使用 SSH 配置文件在 Linux 中创建 SSH 别名

使用 SSH 配置文件在 Linux 中创建 SSH 别名

HostHostnameUserPort 配置的值替换为你自己的值。添加所有远程主机的详细信息后,保存并退出该文件。

现在你可以使用以下命令通过 SSH 进入系统:

  1. $ ssh webserver
  2. $ ssh dns
  3. $ ssh dhcp

就是这么简单!

看看下面的截图。

使用 SSH 别名访问远程系统

使用 SSH 别名访问远程系统

看到了吗?我只使用别名(例如 webserver)来访问 IP 地址为 192.168.225.22 的远程系统。

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

你还可以在 SSH 配置文件中添加许多其他内容。例如,如果你已配置基于 SSH 密钥的身份验证,说明 SSH 密钥文件的位置,如下所示:

  1. Host ubuntu
  2. HostName 192.168.225.50
  3. User senthil
  4. IdentityFIle ~/.ssh/id_rsa_remotesystem

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

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

  1. $ ssh ubuntu

这样,你可以添加希望通过 SSH 访问的任意多台远程主机,并使用别名快速访问它们。

方法 2 – 使用 Bash 别名

这是创建 SSH 别名的一种应急变通的方法,可以加快通信的速度。你可以使用 alias 命令使这项任务更容易。

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

  1. alias webserver='ssh sk@server.example.com'
  2. alias dns='ssh sk@server.example.com'
  3. alias dhcp='ssh sk@server.example.com -p 2233'
  4. alias ubuntu='ssh sk@server.example.com -i ~/.ssh/id_rsa_remotesystem'

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

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

  1. $ source ~/.bashrc

或者

  1. $ source ~/.bash_profile

在此方法中,你甚至不需要使用 ssh 别名 命令。相反,只需使用别名,如下所示。

  1. $ webserver
  2. $ dns
  3. $ dhcp
  4. $ ubuntu

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

【编辑推荐】

  1. Linux下的进程间通信:使用管道和消息队列
  2. Linux中如何启用和禁用网卡?
  3. TLP:一个可以延长Linux笔记本电池寿命的高级电源管理工具
  4. Linux Shell基础 -- 总结几种括号、引号的用法
  5. Linux桌面年是否终于到来了?
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

JavaScript核心技术

它从最简单的地方入手,不仅讲述了JavaScript的基础知识,还讲述了JavsScript如何操作CSS、DOM等Ajax基础技术。而关于跨浏览器兼容问题的解...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客