我看过的每个教程都展示了如何在本地通过 ssh 连接两台机器。但如果我想通过互联网进行远程控制怎么办?
我知道以 192.168 开头的 IP 地址是本地的,对互联网用户来说是不可见的(当然,255*255 = 大约 65k 个 IP 地址对于如此庞大的网络上数百万台互联网设备来说是不够的),所以我需要知道我的公共 IP,我通过输入以下内容找到了它
curl icanhazip.com
在终端中。另外,我知道端口 22 是 ssh 协议的默认端口,而我的防火墙,确切地说,两台机器上的防火墙都被禁用了。两台机器都使用 Ubuntu 16.04。在一台我选择作为服务器的机器上,我在主文件夹中创建了 .ssh 目录(权限为 700),并在其中创建了文件“authorized_users”(权限为 600)。我检查了
服务 sshd 状态
并重新启动它,这样它就处于活动状态了。我(确切地说是我的兄弟,打算成为我的计算机 ie 服务器的远程用户)通过以下方式生成了公钥和私钥:
ssh-keygen -t dsa
并在远程机器上(而不是服务器上)创建了 id_dsa 和 id_dsa.pub 文件。之后,我向他发送了我的公共 IP(因为我们想通过互联网进行 ssh 通信,我看不到其他网络),他输入了:
ssh-copy-id 服务器名称@服务器公共IP
但是,它并没有在我的/home/pc/.ssh/authorized_users中创建任何东西,当然在尝试连接之后
ssh 服务器名称@服务器公共IP
它没有成功。