Linux 通过命令行自动化VNC授权过程
我收到一个输入作为vnc://172.16.41.101&passwd=testLinux 通过命令行自动化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
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
尝试解决方案。