ssh的主机别名


45

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

ssh -p xx user@domain.ssh

我已经尝试在其中建立此主机/etc/hosts,除非有需要重新启动它的服务,否则它没有任何作用。


这应该工作正常。将该条目粘贴到/ etc / hosts文件中。您实际上可以使用别名ping主机吗(如果防火墙不是阻止icmp的话)?
Terry Wang

Answers:


60

有时将配置文件放在我们的主目录中会更方便。这样可以避免以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的信息,请参见手册

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

ssh myremote

2
请注意,您还可以分配多个主机标识符,例如Host myremote 192.168.178.05。这样,当您使用实际主机名进行连接时,也会使用您的设置。
克里斯,

1
不要忘记将参数“ User”(如果需要)添加到配置文件中!
Ros

1
在ssh命令'.ssh / config之后,第2行:在行尾添加垃圾;“#”。意味着不要在您的配置文件中包含标签。
liil

@Takkat如何存储多个服务器的别名?
阿尼斯(Anish)

@Anish只需添加另一个Host...由空行分隔的部分。
塔卡特

0

您可以使用名为的红宝石sshez。它连接您的配置文件,并使添加ssh别名更加容易。

安装宝石

gem install sshez

my_alias例如添加别名

sshez add my_alias root@example.com -p 1022

my_alias从您的配置文件中删除

sshez remove my_alias

列出别名

sshez list

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.