如果您经常通过 SSH 访问许多不同的远程系统,那么这个技巧将为您节省一些时间。 您可以通过 SSH 为经常访问的系统创建 SSH 别名。 这样您就不需要记住所有不同的用户名、主机名、ssh 端口号和 IP 地址等。此外,它避免了在 SSH 进入 Linux 服务器时重复输入相同的用户名/主机名、IP 地址、端口号的需要( s)。
在 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
添加所有远程主机详细信息,如下所示:
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
替换的值 Host
, Hostname
, User
和 Port
用你自己的。 添加所有远程主机的详细信息后,保存并退出文件。
现在您可以使用以下命令 SSH 进入系统:
$ ssh webserver
$ ssh dns
$ ssh dhcp
就这么简单。
看看下面的截图。
看? 我只使用了别名(即 网络服务器) 访问我的具有 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 [email protected]" alias dns="ssh [email protected]" alias dhcp='ssh [email protected] -p 2233' alias ubuntu='ssh [email protected] -i ~/.ssh/id_rsa_remotesystem'
再次确保您已将主机、主机名、端口号和 IP 地址替换为您自己的。 Save 文件并退出。
然后,使用命令应用更改:
$ source ~/.bashrc
或者,
$ source ~/.bash_profile
在这种方法中,您甚至不需要使用 "ssh alias-name"
命令。 相反,只需使用别名,如下所示。
$ webserver $ dns $ dhcp $ ubuntu
这两种方法非常简单,但对于那些经常通过 SSH 连接到多个不同系统的人来说非常有用且方便得多。 使用上述任何一种适合您的方法通过 SSH 快速访问远程 Linux 系统。
建议阅读:
- 在 Linux 中允许或拒绝对特定用户或组的 SSH 访问
- 如何通过 SSH 连接到 Linux 上的特定目录
- 如何在 Linux 中阻止 SSH 会话断开连接
- 退出 SSH 会话后保持命令运行的 4 种方法
- SSLH – 为 HTTPS 和 SSH 共享同一个端口
- 如何在 Linux 中查找用户是否使用基于密码或基于密钥的 SSH 身份验证
aliasBash aliasCLI命令行创建 SSH 别名LinuxLinux 基础Linux 命令Linux 提示Secure ShellSSHssh configSSH 提示