分页: 1 / 1

求助 shell 自动交互

发表于 : 2009-09-04 20:04
knityster
需求来源: 希望 vncviewer 能够记住密码自动登录

场景:
执行如下指令:
# vncviewer -passwdInput=true name=192.168.2.93 192.168.2.93:1
TigerVNC Viewer for X version 0.0.91 - built Aug 14 2009 09:53:29
Copyright (C) 2002-2005 RealVNC Ltd.
Copyright (C) 2000-2006 TightVNC Group
Copyright (C) 2004-2009 Peter Astrand for Cendio AB
See http://www.tigervnc.org for information on TigerVNC.

Fri Sep 4 20:04:24 2009
CConn: connected to host 192.168.2.93 port 5901
CConnection: Server supports RFB protocol version 3.8
CConnection: Using RFB protocol version 3.8

出现上述信息后,我再直接输入服务器的密码将可以连接上去了。

我的问题:
有什么办法可以自动输入预先定义的密码,以实现自动登录呢?

Re: 求助 shell 自动交互

发表于 : 2009-09-04 20:52
eexpress
expect

Re: 求助 shell 自动交互

发表于 : 2009-09-04 20:55
ciciluter
最简单的,比如,你要执行fdisk -l ,需要sudo,然后输入用户密码,可以这么写:

代码: 全选

#/bin/sh
echo 密码 | sudo fdisk -l
希望对你有帮助

Re: 求助 shell 自动交互

发表于 : 2009-09-06 7:22
aerofox
ciciluter 写了:最简单的,比如,你要执行fdisk -l ,需要sudo,然后输入用户密码,可以这么写:

代码: 全选

#/bin/sh
echo 密码 | sudo fdisk -l
希望对你有帮助
这个方法真是简单,可惜不管用的。

vncviewer 是可以用使用一个文件作身份论证的,这样就不用输入密码了。具体过程我忘了,因我家里的机器用不上 vnc,不想再安上 vnc 来试一下。等我上班后看看当时我是怎么做的,如果那时楼主还没找到办法,我再贴出来。

Re: 求助 shell 自动交互

发表于 : 2009-10-05 16:28
tusooa

代码: 全选

echo <password> | vncviewer -passwdInput=true name=192.168.2.93 192.168.2.93:1

Re: 求助 shell 自动交互

发表于 : 2009-10-05 19:39
aerofox
tusooa 写了:

代码: 全选

echo <password> | vncviewer -passwdInput=true name=192.168.2.93 192.168.2.93:1
这样至少有个风险:有人从进程参数中发现你的密码。
可以用 vncpasswd 生成一个 passwd 文件,然后用 -passwd (或 -PasswordFile)参数传给 vncviewer。

Re: 求助 shell 自动交互

发表于 : 2010-01-26 22:16
tusooa
ls,

代码: 全选

>> type echo
echo 是一个 shell 内部命令