ssh 的主机别名

ssh 的主机别名

我将经常连接几个 SSH 目标,我想知道是否可以为它们创建主机别名,而不是记住 IP 地址。我希望能够使用...

ssh -p xx [email protected]

我已经尝试建立这个主机,/etc/hosts除非我需要重新启动服务,否则它不会产生任何效果。

答案1

有时将配置文件放在主目录中会更方便。这样可以避免必须以 root 身份编辑文件,还可以以其他用户无法访问这些数据的方式进行配置。此外,此配置将备份到主目录中,并且可“经受”操作系统升级。

为此,我们可以创建一个 ssh 配置文件nano ~/.ssh/config,在其中输入有关连接的有用信息。一个简单的条目可能包含以下内容:

Host myremote             # any name for the host
HostName 192.168.178.05   # IP, .local, or hostname if defined
User username             # your username
Port 22                   # port to listen

这里还可以提供许多其他选项,包括用户和身份验证(请参阅ssh_config 的手册页

然后我们可以简单地发出以下命令来连接到 192.168.178.05 的端口 22:

ssh myremote

答案2

你可以使用一个名为sshez。它与您的配置文件交互,使添加 ssh 别名更加容易。

安装 gem

gem install sshez

my_alias例如添加别名

sshez add my_alias [email protected] -p 1022

my_alias从配置文件中删除

sshez remove my_alias

列出别名

sshez list

现在您可以连接而ssh my_alias不必担心自己编辑配置文件。

答案3

SSH 配置文件非常有用,但需要手动编辑文件。我使用这个 Python 包在建立 ssh 连接时自动保存连接信息。 https://github.com/emileindik/slosh

类似的sshez工具也贴出来了:

$ pip install slosh
$ slosh [email protected] --save-as myserver

这将执行所需的 ssh 连接并在 SSH 配置文件中创建相应的条目。

[免责声明] 我创建了 slosh

相关内容