将名称与ip的ip关联?


32

假设我只有一个服务器的IP地址,但没有域(它只是一个数据库服务器,因此不需要域)。我不想每次都记住IP地址,有没有办法我仍然可以使用like之类的语法ssh username@database呢?


这主要是术语错误。将单词“ domain”替换为正确的单词“ name”,您将立即看到它。“我说服务器不需要名称,所以我真的很想用名称来引用它”是自相矛盾的。也许您真正的问题应该是“什么是域?如何向域中添加新名称?”
kubanczyk

Answers:


52

如果只需要ssh和ssh的名称,则可以在〜/ .ssh / config中为ssh配置添加名称。

例如,您的配置文件可能如下所示:

Host database
    HostName <real IP address or hostname here>
    User username

然后,您可以ssh database在命令行上键入,ssh会自动ssh username@ip.address为您完成。


如果在“主机名”字段中只能输入主机名或IP,那么如何指定主机名与IP的关联?
拉米·阿·祖瓦里

1
@RamyAlZuhouri,您可以将主机名放在“主机”字段中,例如示例中的“数据库”,而(仅)将IP地址输入到“主机名”字段中。
戴维(David)

8

将它的条目添加到/etc/hosts要从中退出的系统上。

语法是

1.1.1.1 hostname

这适用于Linux和Mac。对于Windows,文件为c:\windows\system\drivers\etc\hosts


1
这肯定可以,但是建议主机文件有时会被网络管理员覆盖。另外,您还必须具有root特权,因此只有拥有root的情况,这才是一个选择。
Freedom_Ben

2

客户端有2种或3种方式将名称与IP地址相关联。

1)DNS,但这意味着主机名和域。

2)主机文件,您可以在客户端主机文件中添加任何名称,然后它将被使用。在/ etc / hosts中添加“ 192.168.1.1数据库”行,以将名称数据库与地址192.168.1.1关联。有关更多特定的详细信息和操作系统的特定位置,请参见http://en.wikipedia.org/wiki/Hosts_%28file%29

3)NIS,Solaris计算机可以使用NIS共享多个客户端的主机名。


1
或LDAP。或mDNS。或任何启用NSS的机制。
伊格纳西奥·巴斯克斯

0

您只需要在文件中添加database名称IP映射即可/etc/hosts。主机文件可以轻松编辑。您将在此处找到一些条目。

此名称可用于任何连接,而不仅仅是SSH。


0

创建DynDNS是免费的,只需五分钟,您就可以添加一个指向IP的A记录。

例如:创建database1.dyndns.org作为指向您ip的A记录
您可以使用以下方法从任何地方访问:

ssh username@database1.dyndns.org

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.