如何在 Linux 中创建 SSH 别名
创始人
2024-03-02 02:27:38
0

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

在 Linux 中创建 SSH 别名

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

使用 IP 地址:

$ ssh 192.168.225.22

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

$ ssh -p 22 sk@192.168.225.22

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

$ 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 文件(如果此文件不存在,只需创建一个):

$ 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

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

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

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

$ ssh webserver
$ ssh dns
$ ssh dhcp

就是这么简单!

看看下面的截图。

使用 SSH 别名访问远程系统

看到了吗?我只使用别名(例如 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 别名的一种应急变通的方法,可以加快通信的速度。你可以使用 alias 命令使这项任务更容易。

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

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

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

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

$ source ~/.bashrc

或者

$ source ~/.bash_profile

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

$ webserver
$ dns
$ dhcp
$ ubuntu

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

建议阅读:

目前这就是全部了,希望它对你有帮助。更多好东西要来了,敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-create-ssh-alias-in-linux/

作者:sk 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

ssh 登录超时 expe...
ssh -p 22 root@192.168.1.1 -v...
2025-05-29 15:17:15
添加已有的PublicKe...
mkdir -p ~/.ssh/ To overwrite aut...
2025-05-29 06:01:59
不一致的严格类型别名规则
在 TypeScript 中,严格类型别名规则要求类型别名不能引用...
2025-01-11 09:00:09
不一致的NumPy数组别名...
在NumPy中,如果给一个数组创建一个别名,对别名进行的操作会影响...
2025-01-11 08:30:31
不需要SSH连接远程Mon...
要不需要SSH连接远程MongoDB服务器,可以使用以下方法之一:...
2025-01-10 15:00:48
不同类型的浅拷贝【已解决:...
不同类型的浅拷贝可以通过别名和拷贝两种方式来实现。别名(Alias...
2025-01-09 08:01:34

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...