如何在没有静态IP地址的情况下运行SSH服务器


37

我在实验室中有一台功能强大的计算机,并在其上安装了64位Ubuntu 11.10。我想在上面安装SSH服务器,这样我就可以从家里甚至通过ssh从Android上访问它。但是我没有创建ssh服务器的经验。

机器具有动态IP。我不希望任何其他ssh用户,仅对我自己安装就足够了。

我应该从哪里开始?我需要什么工具,我将如何配置它们?


1
PC是直接连接到Internet还是位于路由器后面?
2011年

1
@StephenMartin:它在路由器后面。
petrichor

Answers:


35

一般而言,要开始使用ssh,请安装openssh-server。

sudo apt-get install openssh-server

下次重新启动时,它应该会自动启动。要远程连接到计算机,只需在远程终端中输入以下内容,用ALL-CAPS名称代替您自己的名称:

ssh USERNAME@IPADDRESS

现在,要照顾动态ip,迫使您始终重新检查IP:

在dyndns.com上获得一个免费帐户,然后选择要在连接时键入的名称。

完成后,在服务器计算机上安装“ ddclient”。这将使用dyndns自动为您更新IP地址。

sudo apt-get install ddclient

当您运行它时,它将询问您一系列问题,因此请输入您的用户名,密码和您先前选择的URL。它还应自动将其自身添加到启动中。

就是这样。现在,当您使用ssh时,只需使用您选择的URL代替IPADDRESS,因为如果IP更改,它将自动更新。

如果您有路由器,请确保将端口22转发到您的服务器!在portforward.com上有许多针对您的特定路由器的指南。


2
感谢您的详细回答。我安装了ssh并从同一域中的另一台计算机上尝试了它,并且可以正常工作。但这在我的Android上不起作用。如果可以让我访问域外的计算机,我已经向系统管理员发送了电子邮件。所以,我还不能尝试ddclient。(二注:我不能给予好评,因为我没有15美誉的DynDNS的链接似乎改为dyn.com完整的链接在这里dyn.com/dns/dyndns-free
的Petrichor

是的,我不好,已在答案中修正。希望对您
有用

1
dyn.com似乎不再免费
kennyB

3

您可以通过http://www.noip.com/之类的服务获取主机名,然后设置ssh服务器。然后,您将通过例如连接

ssh USERNAME@HOSTNAME.no-ip.biz

2

您可以通过xmmpp / jabber协议使用SSH。这样您就可以通过Google Talk在您的台式机或手机(例如android)上进行访问。不需要IP公共不需要特殊设置只需安装并作为服务运行。我编写了一个脚本(在Raspberry Pi的raspian OS上进行了测试),因此您可以轻松安装robotito。这是步骤1.打开Shell Command或您可以将其命名为Terminal,转到您的主文件夹,通过命令下载安装程序脚本:wget https://opengateway.googlecode.com/files/robotito 它将保存到您的主文件夹〜 (例如/ home / pi)

  1. 之后,通过输入命令来运行脚本:sudo ./robotito

  2. 然后,如果robotito使用gtalk帐户,则可以在config文件夹中编辑config文件夹中的文件certificate.rb并按ctrl + x和y进行保存。默认是使用nano编辑器。

  3. 通过命令./jabbershd start在robotito文件夹中运行robotito

  4. 完成后,您就可以从任何Google Talk客户端使用它了,别忘了将robotito gtalk帐户添加到您的Google Talk帐户,并在使用该帐户之前通过相互聊天对其进行测试。


这是您的博客吗?您应该在回答中说出来。
fossfreedom

2

查看此链接:

http://www.raspberryanywhere.com/

也许可以有所帮助。我从几周以来一直在使用该服务,效果很好!

该链接提供了一个简单的软件teamviewer,您可以随时随地访问您的树莓板。此外,您可以使用常规的SSH客户端。他们只是提供了一个虚拟地址以通过SSH或HTTP连接到您的电路板。值得一试!


1

您需要在PC(或路由器)上使用动态DNS客户端,并有选择地在路由器上打开通向Ubuntu计算机的路由器上的端口22(如果PC位于其后)。然后,您可以通过一些自定义名称而不是IP来访问您的计算机。


1

安装和使用ssh很容易。您可以从此处安装它:https : //apps.ubuntu.com/cat/applications/oneiric/openssh-server/

安装完成后,它将运行并在启动时自动运行。本地计算机上的所有用户都可以使用它。您仍然需要修复网络才能连接到它,但这与ssh并没有任何关系。如果它具有公共IP,则可以使用dyndns.org和ddclient之类的名称为其获取动态名称。如果没有公用IP,则还需要配置网络以将流量转发给它。

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.