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

我在实验室里有一台功能强大的电脑,我在上面安装了Ubuntu 11.10 64位操作系统。我想在这台电脑上安装一个SSH服务器,这样我就可以从家里甚至是我的Android手机通过ssh连接到它。但是我没有任何创建SSH服务器的经验。
这台电脑使用的是动态IP地址。我不需要其他的SSH用户,只为自己安装即可满足需求。
我应该从哪里开始?我需要什么工具以及如何配置它们?

1电脑是直接连接到互联网还是在路由器后面? - squareborg
1@StephenMartin:它在路由器后面。 - petrichor
7个回答

要开始使用ssh,首先需要安装openssh-server。
sudo apt-get install openssh-server

在下一次重新启动时,这应该会自动启动。要远程连接到计算机,只需在远程终端中输入以下内容,将全部大写字母的名称替换为您自己的名称:
ssh USERNAME@IPADDRESS

现在,为了解决动态IP强制您一直重新检查IP的问题:
在dyndns.com上注册一个免费账户,并选择您连接时想要输入的名称。
完成后,在服务器上安装"ddclient"。这将自动使用dyndns更新您的IP地址。
sudo apt-get install ddclient

当你运行它时,它会询问你一系列的问题,所以请准备好你的用户名、密码和之前选择的URL进行输入。它还应该自动添加到启动项中。
就是这样了。现在当你使用ssh时,只需使用你选择的URL而不是你的IP地址,因为如果IP地址发生变化,它应该会自动更新。
如果你有路由器,请确保将端口22转发到你的服务器!关于你特定路由器的详细指南可以在portforward.com上找到很多。

3感谢详细的回答。我已经安装了 SSH,并尝试从同一域中的另一台机器上使用它,结果成功了。但是在我的安卓手机上无法使用。我已经给我们的系统管理员发送了电子邮件,询问是否可以让我在域外访问我的机器。因此,我还没有尝试 ddclient。(两个注意事项:由于我还没有获得 15 的声望,所以无法点赞。dyndns 的链接似乎已更改为 dyn.com。完整链接在这里 http://dyn.com/dns/dyndns-free/) - petrichor
啊,是的,我的错,已经在答案中修正了。希望对你有帮助 :) - zookalicious
4dyn.com似乎不再免费。 - kennyB
duckdns.org似乎是一个尊重隐私、免费的DDNS服务。 - mikemtnbikes

你可以通过像http://www.noip.com/这样的服务获取主机名,然后设置一个SSH服务器。 然后你可以使用如下方式进行连接。
ssh USERNAME@HOSTNAME.no-ip.biz

1noip.com在接受的答案中提到,功能上等同于dyn.com - jiggunjer

请查看这个链接:

http://www.raspberryanywhere.com/

或许这对你有所帮助。我已经使用这项服务几周了,效果非常好!
链接提供了一个类似于TeamViewer的简单软件,可以让你在任何地方都能访问你的树莓派板子。此外,你还可以使用你平常使用的SSH客户端;他们只是提供了一个虚拟地址,以便通过SSH或HTTP连接到你的板子。这绝对值得一试!

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

一旦安装完成,它将在启动时自动运行。本地计算机上的所有用户都可以使用它。您仍然需要修复您的网络以便连接到它,但这与ssh没有真正的关联。如果它有公共IP,则可以使用类似dyndns.org和ddclient的服务获取一个动态名称。如果没有公共IP,则还需要配置您的网络以将流量转发到它。


你需要在你的电脑(或路由器)上安装动态DNS客户端,并且如果电脑位于路由器后面,还可以选择在路由器上打开22号端口以便连接到Ubuntu机器。这样,你就可以通过自定义名称而不是IP地址来访问你的机器了。

你可以使用通过使用xmmpp / jabber协议的SSH。这样,您可以通过桌面或移动电话(例如Android)上的Google Talk访问。 无需公共IP 无需特殊设置 只需安装并作为服务运行。 我创建了一个脚本(在我的Raspberry Pi上测试过的raspian OS),所以您可以轻松安装robotito。以下是步骤: 1. 打开Shell命令或者您可以称之为终端,进入您的主文件夹,在终端中输入以下命令下载安装脚本: wget https://opengateway.googlecode.com/files/robotito 它将保存到您的主文件夹中~(例如/home/pi)

1. 运行脚本,输入以下命令: sudo ./robotito
2. 如果robotito使用您的gtalk账户,请在config文件夹中编辑credentials.rb文件,并按ctrl+x和y键保存。默认使用nano编辑器。
3. 使用以下命令在robotito文件夹中运行robotito: ./jabbershd start
4. 完成后,您现在可以使用任何Google Talk客户端了。不要忘记将robotito gtalk账户添加到您的Google Talk账户,并在使用该账户之前先互相聊天测试一下。

1这是你的博客吗?你应该在回答中表明。 - fossfreedom