通过SSH连接时如何给用户服务器名称而不是IP?


11

我有一个安装了ubuntu 12.04的virtualbox。我的主机是Mac OS(小牛)。我将SSH密钥副本复制到了我的远程服务器(这是ubuntu服务器,我称之为myubuntu)。

当我做的时候

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

但是当我尝试:

ssh username@66.90.115.178

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

为什么需要我提供正确连接的IP地址而不是服务器名。

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


1
这可能会为您提供问题最后一部分的解决方案:askubuntu.com/questions/257472/host-alias-for-ssh
Takkat 2014年

Answers:


14

您有几种选择。

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

sudo nano /etc/hosts

为您的服务器添加条目

66.90.115.178 myubuntu

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

第三,默认情况下,ssh使用当前用户名,因此,如果客户端和服务器上的用户名相同,则仅使用ssh server_name

ssh your_server

仅在名称不同或需要新用户时才需要指定用户名

ssh new_user@your_server

我遵循第一个选项,因为它现在很简单。我必须重新启动计算机。现在,当我试图挂ssh myubuntu和我get operation timed out
头脑风暴

不确定是否挂起,请查看ssh -vvv myubuntu
Panther 2014年

抱歉,我发现了IP上的错字ssh -vvv。我修复后效果很好!不过一个问题,你为什么说if you need access from only a few locations or a single location update /etc/hosts。如果您能为您描述的两种方法写上一两行,并且它们什么时候有用,它们将对像我这样的初学者有所帮助。非常感谢你!!!!
头脑风暴

好吧,它与您需要编辑/ etc / hosts的计算机数量以及配置DNS服务器所花费的时间成正比。
Panther 2014年

本地网络还有另一个选项:Avahi(默认情况下安装在Ubuntu桌面上)。
Andrea Corbellini 2014年

0

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

hostname1 IP1
hostname2 IP2

我将其更改为:

IP1 hostname1
IP2 hostname2
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.