通过 RPI ssh 在 Mac 上设置 vnc

通过 RPI ssh 在 Mac 上设置 vnc

我目前不在家,我想访问我家已开机的 iMac。我离开前设置了 Mac 屏幕共享,但出了点问题,我无法从 MacBook 访问它。我可以通过 Raspberry Pi 上的 ssh 访问我的家庭网络。我想知道是否有任何方法可以通过 RPI 访问我的 iMac 并在这台 iMac 上设置 ftp 或 vnc 服务器。例如,是否有任何 Linux 软件可以让我通过 VNC 访问同一网络上的另一个客户端。如果可能的话,我可以尝试从我当前的位置访问 RPI。

编辑:在@baf 评论之后,这里是我在 iMac 上开放的所有端口:

PORT      STATE    SERVICE
3/tcp     filtered compressnet
22/tcp    open     ssh
88/tcp    open     kerberos-sec
222/tcp   filtered rsh-spx
513/tcp   filtered login
898/tcp   filtered sun-manageconsole
1055/tcp  filtered ansyslmd
1083/tcp  filtered ansoft-lm-1
1455/tcp  filtered esl-lm
2725/tcp  filtered msolap-ptp2
3370/tcp  filtered satvid-datalnk
3801/tcp  filtered ibm-mgr
5900/tcp  open     vnc
8873/tcp  filtered dxspider
9001/tcp  filtered tor-orport
9110/tcp  filtered unknown
10628/tcp filtered unknown
13782/tcp filtered netbackup
20221/tcp filtered unknown
31038/tcp filtered unknown
32772/tcp filtered sometimes-rpc7
32776/tcp filtered sometimes-rpc15
40911/tcp filtered unknown
44176/tcp filtered unknown

编辑:在 baf 回答之后,我更新了我当前所做的事情:我执行该命令:ssh -L 5999:192.168.1.10:5900 pi_host_over_internet 所以如果我理解正确的话,我的 iMac 的 VNC 端口可以通过 Pi 的端口 5999 访问。现在要从我当前的位置连接到它,我需要使用 VNC 客户端连接到“pi_host_over_internet:5999”。我试过了,但显然,它不起作用,因为端口 5999 没有转发到路由器上的 Pi。

编辑:澄清我的设置:

我现在所拥有的东西以及我所在的地方(英国):

MacBook connected to a public WiFi

我家里(法国)有什么:

Imac, local ip:`192.169.1.10`, port 5900 listenin to VNC, port 22 listening to SSH
RPI, local ip:`192.168.1.12`, port 22 listening to SSH
router accessible at `mydomain.com`, port 22 forwarded to RPI@`192,168.1.12:22`

编辑:这是我在@baf 回答后得到的结果:


我会接受任何建议,所以请随意提出任何建议。

答案1

您应该在本地机器上(网络之外)使用以下参数运行 ssh 客户端:

ssh -L 5999:imac_host:5900 pi_host

我选择 5999 作为本地端口,但它可以是任何端口。你只需确保它未被任何本地服务使用。用 IP 地址替换imac_host和。pi_host

当您使用给定的命令成功连接时,vnc端口 5900imac_host将被转发到您本地机器端口 5999。

接下来,您需要在本地机器上配置 vnc 客户端来连接localhost端口5999(在给定端口连接到自身)。

怎么运行的

VNC您 iMac 上的服务器正在监听端口5900以接收传入连接。VNC客户端可以从本地网络中的其他计算机连接到此端口。由于您无法直接访问5900iMac 上的端口,因此您正在使用ssh隧道将计算机通过 Internet 通过路由器连接到本地网络中的 iMac。

ssh打开5999当前计算机上的端口(可以是任何其他端口)并在此端口上侦听连接。当您连接到此端口时,会将ssh连接(通过 ssh 端口)隧道传输22到您的路由器,然后从路由器通过端口与 iMac 建立连接5900。这称为端口转发。


您的 iMac 也启用了 ssh。如果您不需要 vnc,而只想复制文件,则可以使用 scp。为了简单起见,您可以尝试不使用任何端口转发。只需将文件从 复制到 即可imac_hostpi_host从 Pi 控制台运行:

scp username@imac_host:path_to_file destination_file`

这会将path_to_file文件复制到destination_filePi 上的当前文件夹中。然后您可以重复此步骤并将文件从 Pi 复制到本地计算机。

相关内容