我正在尝试编写一个脚本,以便在远程连接到我办公室的各种计算机时使用。我们还使用VNC来查看用户桌面。我一直试图找到一个允许我这样做的脚本,但我没有运气。现在,我们在终端中使用SSH命令(我们都使用Mac),如下所示:
ssh "hostname" -L 5901:127.0.0.1:5900
这需要RSA指纹和用户密码。永远不会请求用户名,因为它与计算机上的用户配置文件相同。 5901也可以是5902,5903等,具体取决于我们的VNC客户端中指定的显示端口。
我最终想创建一个提示输入主机名和显示端口的脚本,假设用户名和密码可以永久存储在脚本中。如果没有,我们也需要提示。这甚至可能吗?
答案 0 :(得分:0)
我之前有一个类似的用例,所以我把这个脚本放在一起:
http://code.activestate.com/recipes/576810-copy-files-over-ssh-using-paramiko/
要通过SSH隧道传输VNC,您需要转发端口5900以连接到真正的xorg实例,例如通过x11vnc
或端口5901连接到第一个虚拟xorg(例如通过vncserver
),5902连接到第二个xorg等。
我不知道paramiko能够转发端口,但似乎有一个纯粹的Python模块只能做https://gist.github.com/1399529