如何使用ssh自动登录到主机,运行主机上的脚本(不使用expect)
lovetjl
如何使用ssh自动登录到主机,运行主机上的脚本(不使用expect)
如何使用ssh自动登录到主机,运行主机上的脚本,无expect的交互环境
寂寞烈火
[url]http://bbs.chinaunix.net/viewthread.php?tid=343905&extra=page%3D2%26filter%3Ddigest[/url]
lovetjl
谢谢!寂寞烈火。
可能是我没有说清楚,网上的方法基本都是生成密匙。可我现在就算生成密匙了,也无法放到其他机器上。所以这招不灵。看看大家还有什么办法??
walkerxk
你懂SSH的协议么?如果知道的话可以用telnet,不过应该很麻烦,其他方法好像是没有了。
walkerxk
算了,telnet也要expect的。
liaosnet
[quote]原帖由 [i]walkerxk[/i] 于 2008-6-29 20:53 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8698310&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
你懂SSH的协议么?如果知道的话可以用telnet,不过应该很麻烦,其他方法好像是没有了。 [/quote]
可以的~~只是似乎要根据环境做~~
(
echo $username
sleep 2
echo $passwd
sleep 2
echo vt100
sleep 2
echo "cd $path"
sleep 2
echo "nohup sh.sh &"
sleep 2
echo "exit"
) | telnet $ipaddr
sway2004009
[quote]原帖由 [i]lovetjl[/i] 于 2008-6-29 20:43 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8698248&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
可能是我没有说清楚,网上的方法基本都是生成密匙。可我现在就算生成密匙了,也无法放到其他机器上。所以这招不灵。看看大家还有什么办法?? [/quote]
能把情况说具体点吗?
walkerxk
[quote]原帖由 [i]liaosnet[/i] 于 2008-6-29 22:09 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8698752&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
可以的~~只是似乎要根据环境做~~
(
echo $username
sleep 2
echo $passwd
sleep 2
echo vt100
sleep 2
echo "cd $path"
sleep 2
echo "nohup sh.sh &"
sleep 2
echo "ex ... [/quote]
ssh的密码能用echo?而且还要sleep控制,否则容易没有相应,而且执行也不一定完整,我上次用echo+telnet收邮件,结果邮件都是不完整的,直接telnet手动收是完整的。
liaosnet
回复 #8 walkerxk 的帖子
偶回答的时telnet的,ssh没试过~~:mrgreen: :mrgreen:
telnet要放后台做,,否则你就要多sleep会~:mrgreen:
walkerxk
[quote]原帖由 [i]liaosnet[/i] 于 2008-6-29 23:24 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699163&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
偶回答的时telnet的,ssh没试过~~:mrgreen: :mrgreen:
telnet要放后台做,,否则你就要多sleep会~:mrgreen: [/quote]
我说的是用telnet连ssh,LZ主要是要连ssh,总不能再开一个telnet服务吧,而且那样不安全。
liaosnet
[quote]原帖由 [i]walkerxk[/i] 于 2008-6-29 23:55 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699294&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
我说的是用telnet连ssh,LZ主要是要连ssh,总不能再开一个telnet服务吧,而且那样不安全。 [/quote]
呵~~这个得试试才知道~~因为我还用尝试过用ssh做连接的.呵
一般都用remsh/rlogin来做的,呵~~
lovetjl
具体的情况。
A 主机 只能够通过一般用户(无root权限)和 ssh协议访问 B主机,无expect软件。想通过ssh 自动从 A 主机登录到B 主机,执行 B主机的程序。
sway2004009
[quote]原帖由 [i]lovetjl[/i] 于 2008-6-30 20:14 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8705543&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
A 主机 只能够通过一般用户(无root权限)和 ssh协议访问 B主机,无expect软件。想通过ssh 自动从 A 主机登录到B 主机,执行 B主机的程序。 [/quote]
那为什么不能用publickey authentication 呢?
liaosnet
[quote]原帖由 [i]liaosnet[/i] 于 2008-6-30 00:01 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699317&ptid=1183130][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
呵~~这个得试试才知道~~因为我还用尝试过用ssh做连接的.呵
一般都用remsh/rlogin来做的,呵~~ [/quote]
做了实验~~ssh的确不行~:em03: :em03:
sway2004009
回复 #13 sway2004009 的帖子
除非你的B机器上的sshd不支持publickey 的认证方式。
不行的话,如果支持Hostbased的方式的话也可以。
如果只能用password 和keyboard interactive的话, 那我就不知道了。
因为ssh的password 是不能通过echo 来提供的。
lovetjl
只能够安装expect软件了!
只能够安装expect软件了!
shijiang1130
回复 #1 lovetjl 的帖子
可以用perl结合plink.exe遍译exe