Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 通过命令行自动化VNC授权过程_Linux_Terminal_Command Prompt_Vnc_Vnc Viewer - Fatal编程技术网

Linux 通过命令行自动化VNC授权过程

Linux 通过命令行自动化VNC授权过程,linux,terminal,command-prompt,vnc,vnc-viewer,Linux,Terminal,Command Prompt,Vnc,Vnc Viewer,我收到一个输入作为vnc://172.16.41.101&passwd=test echo "test" | vncviewer -autopass 172.16.41.101 我想对这个输入做的是: 1.提取IP地址。 2.提取密码。 3.使用提供的ip和密码启动vncviewer。 4.一旦收到输入,所有这些都应该是自动化的 提取ip和密码很容易。 然后,我使用提供的ip启动vncviewer,但是如何在不提示用户输入密码的情况下将密码传递给它?假设(通过标签)您正在从命令提示符使用vnc

我收到一个输入作为vnc://172.16.41.101&passwd=test

echo "test" | vncviewer -autopass 172.16.41.101
我想对这个输入做的是:
1.提取IP地址。
2.提取密码。
3.使用提供的ip和密码启动vncviewer。
4.一旦收到输入,所有这些都应该是自动化的

提取ip和密码很容易。 然后,我使用提供的ip启动vncviewer,但是如何在不提示用户输入密码的情况下将密码传递给它?

假设(通过标签)您正在从命令提示符使用vncviewer程序,我认为您可以这样做:

echo "password" | vncviewer -autopass host:display
以您的例子:vnc://172.16.41.101&passwd=test

echo "test" | vncviewer -autopass 172.16.41.101

如果您的
vncviewer
没有
-autopass
选项,您可以使用
vncpasswd
生成可以传递到
-passwd
选项中的密码文件:

vncviewer -passwd <(vncpasswd -f <<<"password") host:display

vncviewer-passwd在我的
vncviewer
版本中,
-autopass
不可用

工具
vncpasswd
(显然是随
vnc服务器
提供的)


演示使用
xvfb
x11vnc
,在虚拟X环境中运行程序
gimp

并使用
vncviewer
显示,无需提示输入密码

x11vnc -storepasswd 1234 /tmp/vncpass
xvfb-run --listen-tcp --server-num 30 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1920x1080x24" gimp
x11vnc -rfbport 4544 -rfbauth /tmp/vncpass -display :30 -forever -auth /tmp/xvfb.auth
vncviewer -passwd /tmp/vncpass machine:4544
一艘班轮:

x11vnc -storepasswd 1234 /tmp/vncpass && xvfb-run --listen-tcp --server-num 30 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1920x1080x24" gimp & x11vnc -rfbport 4544 -rfbauth /tmp/vncpass -display :30 -forever -auth /tmp/xvfb.auth & vncviewer -passwd /tmp/vncpass $(hostname):4544

如果没有提供更多的细节,很难完美地回答这个问题,例如发布代码/命令/配置以实现我的建议。。。例如,您需要确切地指定哪台vnc服务器、客户端、每一方的平台等

这就是说,如果你能重新设计所有这一切的工作原理-我建议不要使用任何密码

相反,设置一个SSH隧道,并使用密钥对身份验证来保护它。使用此计划时,您甚至可以删除VNC的任何防火墙例外


如果这样做,不仅不需要提供密码,而且整个VNC系统将更加安全

不知道你在问什么。你在写什么申请,谁是“我正在接受输入”中的“我”?你在写bash脚本吗?本机应用程序?您只是在询问vncviewer应用程序的命令行参数吗?(哪个vncviewer,有很多?)https://github.com/trinitronx/vncpasswd.py
tool out,它可以生成VNC授权所需的模糊密码文件。@Arihant Nahata,您检查过这个解决方案吗?后续如果它不起作用,或者如果你找到了自己的答案,请发布:-),但是没有
-autopass
开关,这不起作用。如果没有
-autopass
,请使用下面的
-passwd
尝试解决方案。