我为同事的每台电脑都安装了 Linux Mint,因为每当我想揍他们一顿时,我又需要监督他们的电脑,因为老板大喊大叫时,我需要知道如何获取特定文件夹中的特定文件。我需要使用 OS X,但不需要华丽的 GUI 应用程序。从加利福尼亚访问位于纽约的这些电脑的最佳流程是什么?
答案1
让我们检查一下你的选择:ssh
它方便、易于使用,除了远程 shell 访问之外还具有很多功能,不使用 GUI(但可以执行),适用于所有古老和现代的操作系统,并且自从诞生以来就受到安全人士的严格审查。
一般来说,我不会使用 ssh 以外的任何其他方式进行远程访问。
如果您的客户端位于 NAT 防火墙后面(如家用路由器),则需要转发一个 TCP 端口以接收传入连接,如果您的同事不够精通技术,这可能会成为问题。有时转发的端口不足以成功建立连接,因为某些 ISP 会将其客户聚集在第二个 NAT 后面,而您和您的同事都无法配置该 NAT。解决该问题的一个方法是从同事的主机到您的本地主机启动反向 shell 连接,您可以使用该连接来穿越 NAT。这取决于同事端正在运行的 sshd 和您机器上的第二个 sshd。现在几乎每台机器上都安装 sshd 是完全有可能的。
您可以在inno-agent-forwarding,no-X11-forwarding,no-pty
前面添加这些内容,以删除功能并感觉更安全,同时向世界上最好的同事公开 ssh。pubkey-entry
.ssh/authorized_hosts
为了方便起见,我将展示一个使用反向 ssh 的示例。本质上:
coworker@coworkershost $ ssh -R -f 30000:127.0.0.1:22 [email protected] -N
30000
是您机器 localhost 上的开放端口,22
您的 sshd 正在监听的端口,[email protected]
是您机器上的有效登录名,同事可以访问。-R
告诉 ssh 建立反向连接。-f
用于将进程分叉到后台(可选)并且-N
不运行任何命令(例如登录 shell)
netstat -tulpena
然后,当您在主机上发出命令时,您应该会发现这样的一行。
tcp 0 0 127.0.0.1:30000 0.0.0.0:* LISTEN 1001 2575742286 -
如果您有有效的登录名并且在同事主机上运行 sshd,您就可以轻松登录。
[email protected]:~$ ssh -p 30000 you@localhost
You have new mail.
Last login: Tue May 3 15:32:42 2016 from nicolass-mbp.fritz.box
0 ✓ you@coworkershost ~ $
现在,我们已经穿越了 2 个 NAT 并获得了远程 shell。
下一步是如何编写正确的超级用户问题。这包括将主题缩小到可回答的范围。展示您迄今为止取得的进展,以便人们了解您的问题。访问https://superuser.com/help/how-to-ask进一步了解。我可以继续说下去,但在这里停下来,对你的问题给出一个非常明确的答案:
我建议只使用 ssh。