通过 SSH 连接时如何提供用户服务器名称而不是 ip?

通过 SSH 连接时如何提供用户服务器名称而不是 ip?

我有一个虚拟机,上面安装了 ubuntu 12.04。我的主机是 Mac OS (mavericks)。我将 SSH 密钥复制到我的远程服务器(即 ubuntu 服务器,我称之为 myubuntu)。

当我这么做的时候

ssh username@myubuntu
ssh: Could not resolve hostname ubuntuhadoop: nodename nor servname provided, or not known

但当我尝试时:

ssh [email protected]

我能够登录到远程服务器(即 myubuntu)。

为什么我需要提供 IP 地址才能正确连接,但不需要提供服务器名称。

我不确定这是否可行。但我在 YouTube 教程之一中找到了。 ssh myubuntu(不是用户名@myubuntu)并登录到远程服务器,没有用户名。这可能吗?

答案1

您有几种选择。

如果您只需要从几个位置或单个位置进行访问,请更新 /etc/hosts

sudo nano /etc/hosts

为您的服务器添加条目

66.90.115.178 myubuntu

其次,购买或寻找免费的 DNS 服务,http://www.noip.com/free/或类似的东西。

第三,ssh 默认使用你当前的用户名,所以如果你在客户端和服务器上有相同的用户名,只需 ssh server_name

ssh your_server

如果名称不同或者您想要一个新用户,则只需指定用户名

ssh new_user@your_server

答案2

我也遇到了这个问题。我已定义另一个主机,如下所示(在 /etc/hosts 中):

hostname1 IP1
hostname2 IP2

我将其改为:

IP1 hostname1
IP2 hostname2

相关内容