我对一个小脚本有一个好奇的问题,可以与远程主机建立VNC连接。该脚本只是为VNC会话制作了SSH隧道,然后打开查看器。它只有两行,当手动复制到外壳中时,它可以正常工作。但是,调用脚本会导致VNC查看器在此错误时失败:main: unable to connect to host: Connection refused (111)

这是脚本:

#!/bin/bash
ssh -N -L5903:localhost:5903 username@example.com &
vncviewer :3

隧道在整个过程中一直生活,因此这不是问题。权限都不是 - 当脚本以root运行时,会发生相同的错误。我已经设置了公共密钥身份验证,因此不是SSH请求密码。

我想念什么?命令在外壳中键入时工作!

提前致谢。

有帮助吗?

解决方案

很可能是 vncviewer 命令执行太快了 ssh 命令。尝试放置

sleep 3

在这两个命令之间,可以设置端口转发的时间。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top