我很快就要出差了,我有一台运行机器的机器运行一堆cron作业等。我需要远程登录以检查运行的作业的结果并在机器上做一些工作。
以下是明显的事实:
- 要连接的计算机(母系)正在运行Ubuntu 14.0.4 LTS
- 母舰通过家里的局域网连接到互联网,因此具有面向公众的IP地址。
- IP地址是动态分配的。
- 我将使用运行Ubuntu 15.10的笔记本电脑连接到母舰
由于带宽问题,我更喜欢使用ssh而不是VNC-另外,无论如何,我需要的只是命令行。
安全地远程连接到我的机器的最佳方法是什么?
我很快就要出差了,我有一台运行机器的机器运行一堆cron作业等。我需要远程登录以检查运行的作业的结果并在机器上做一些工作。
以下是明显的事实:
由于带宽问题,我更喜欢使用ssh而不是VNC-另外,无论如何,我需要的只是命令行。
安全地远程连接到我的机器的最佳方法是什么?
Answers:
最好的选择可能是在非默认端口(例如2020)上运行SSH服务器。这可以防止大多数来自Web的暴力攻击尝试,因为这些bot倾向于仅查看默认端口。
您还需要在局域网上为服务器分配一个静态IP地址,因为它需要一直处于访问状态。您可以在中进行设置System Settings --> Network
。为了防止IP地址冲突,建议您也告诉DHCP服务器(在大多数情况下为路由器)使用该IP地址。该方法因型号而异,但是路由器配置中应在某处保留一个区域,以便您保留IP地址。
使用静态IP的原因是您需要在路由器设置中设置端口转发。这允许从端口到您的外部IP的连接被路由到服务器上的该端口。
如果您的公用IP地址是动态的(可能是动态的),则将需要设置某种动态DNS服务。我对这项服务的建议是No-IP。它为您提供了一个始终指向您的公共IP的免费子域。此设置的确需要在LAN上的永远在线的计算机上安装程序(称为DUC,由No-IP提供)。
设置好SSH服务器后,请输入
ssh user@remotehostip -p XXX
或使用您喜欢的任何SSH / SFTP客户端。
如果这些部分中的任何部分需要更详细的说明,请发表评论,然后将其添加进去。
如果有其他人遇到问题,这里是一个聊天室,具有更多/更详细的步骤:http : //chat.stackexchange.com/rooms/37251/discussion-between-homunculus-reticulli-and-zacharee1
除了Zacharee1的答案之外,您还应该安装Fail2ban或DenyHosts(从Precise存储库中获取.deb)。如果您正在旅行,则不应使用密钥进行身份验证。还要使用“安全”密码。也许在不需要管理员的时候设置访问量减少的专用用户帐户。
我不会触摸服务器上的网络设置,可以从路由器分配静态IP。路由器的IP地址应该是DHCP中分配的“网关”地址。在不是(!)的情况下,默认地址应写在它下面的某个地方。如果更改了此设置,则应保留最后一个值。因此,如果您具有C类家庭网络,则地址将为abcx,其中abc与您所有其他ip地址匹配,并且x是路由器标签上的尾随值。ISP在任何情况下都应具有帮助页面。
当您使用非标准端口时,请避免使用“ 22”作为末尾数字(例如8122)。它留下了线索。
注意 您可以在没有VNC的情况下通过SSH访问基于X的应用程序,这完全是另一个主题。