关于用expect运行ssh,使用-D参数……

sh/bash/dash/ksh/zsh等Shell脚本
回复
acrsgdw
帖子: 96
注册时间: 2011-01-21 19:03

关于用expect运行ssh,使用-D参数……

#1

帖子 acrsgdw » 2011-02-09 20:37

怎样实现用ssh -D时不用输密码、可以后台运行?
直接运行这个,会弹出“OpenSSH”提示输密码
ssh -CqTfnN -D 7070 $user@$host
在终端中运行当然也是要密码的
于是,搞了个expect脚本:

#!/usr/bin/expect -f
set user user
set host 127.0.0.1
set password password
set timeout 10

spawn ssh -CqTfnN -D 7070 $user@$host
expect "*password:*"

send "$password\r"
expect eof
无论在哪运行,ssh进程都会挂掉 :em20 ……
如果把命令改为ssh -CN -D 7070 $user@$host
则只能在终端中运行,双击后点运行ssh也会挂掉 :em20 ……
郁闷中……
头像
我就是我2
帖子: 1215
注册时间: 2008-12-13 10:55
来自: the Earth
联系:

Re: 关于用expect运行ssh,使用-D参数……

#2

帖子 我就是我2 » 2011-02-09 21:15

苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”


dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
acrsgdw
帖子: 96
注册时间: 2011-01-21 19:03

Re: 关于用expect运行ssh,使用-D参数……

#3

帖子 acrsgdw » 2011-02-10 14:32

搞成啦~ :em11
感谢大家的帮助,现在把这个简单的脚本贴出来: :em11

代码: 全选

#!/usr/bin/expect -f 
set user 账户
set host 服务器
set password 密码
set timeout -1

spawn ssh -CTnN -D 7070 $user@$host
expect "*password:*"

send "$password\r"
expect eof
MaskRay
帖子: 61
注册时间: 2010-04-29 22:00
系统: Gentoo Linux ~amd64
联系:

Re: 关于用expect运行ssh,使用-D参数……

#4

帖子 MaskRay » 2011-05-13 11:53

acrsgdw 写了:搞成啦~ :em11
感谢大家的帮助,现在把这个简单的脚本贴出来: :em11

代码: 全选

#!/usr/bin/expect -f 
set user 账户
set host 服务器
set password 密码
set timeout -1

spawn ssh -CTnN -D 7070 $user@$host
expect "*password:*"

send "$password\r"
expect eof
这就占一个终端了,加个 -f 吧
acrsgdw
帖子: 96
注册时间: 2011-01-21 19:03

Re: 关于用expect运行ssh,使用-D参数……

#5

帖子 acrsgdw » 2011-07-09 20:53

MaskRay 写了: 这就占一个终端了,加个 -f 吧
我的意思是,这样可以想关掉哪个隧道就关掉哪个隧道~
回复