两台本地计算机之间的 ssh 连接

两台本地计算机之间的 ssh 连接

我正在尝试在我的个人电脑之间建立 ssh 连接,这些电脑通过 LAN 和 Wi-fi 连接到不同的网络。我们将它们称为计算机 A,装有 Ubuntu 14.04.2 LTS,连接到 LAN,以及计算机 B,装有 Fedora 20 Heisenbug,连接到 Wifi。

我在计算机 A 上生成了一个密钥,将其复制到 USB 上,然后将其粘贴到计算机 B 中的正确文件中,但现在我不知道如何从 A 连接到 B。

首先,我需要配置 B 才能成为主机吗?然后,我应该输入什么命令来连接?ssh ?@?

抱歉,如果这是一个很明显的问题,但我对这个东西还只是个新手。我在其他问题中寻找过它,但我无法掌握它。

答案1

要连接到 ssh,您需要连接到目标服务器上的端口 22。为此,您需要:

  1. 确保 ssh 服务器(openssh-server)已在 Fedora 机器上安装并运行。
  2. 找出目标机器的外部 IP 地址(例如,curl 'http://icanhazip.com'在浏览器中运行或打开该 URL)。
  3. 找出目标服务器的本地 IP 地址(例如,使用 NetworkManager 小程序,我还强烈建议将其设为静态,以避免每次更改路由器规则)。
  4. 将路由器上的某些端口(必须高于 1024,我建议端口高于 20000)转发到 Fedora 的本地 IP 和端口 22。
  5. 检查 Fedora 上的端口 22 是否打开(以 root 身份运行iptables -nvL并查看链 INPUT,如果它的策略设置为 ACCEPT - 它是打开的;如果策略是 DROP,则在该链中查找带有 dport 22 的规则,如果不存在 - 打开它,阅读 iptables 如何运行并打开端口)。
  6. 在 Ubuntu 上运行telnet $ext_IP $ext_port并查看是否收到带有 OpenSSH 版本和主机操作系统的回复。
  7. 如果您收到了回复 - 您可以通过 进行连接ssh user@ext_ip -p ext_port,否则存在某种配置错误(很可能是端口转发错误)。

答案2

你需要两样东西:

1) 您所在计算机(A)上的 Ssh 客户端。该客户端可能已默认安装在您的计算机上(Ubuntu)。

2)另一台计算机(B)上的 Ssh 服务器

如果您尚未安装 ssh 服务器,则肯定缺少该服务器。密钥非常有用,但不是建立初始连接的必需品。

只需输入

ssh  192.168.x.y

或者“B”的任何目标地址,如果一切正常,服务器将询问您的密码。

相关内容