按下边这个帖子里的方法可以在终端登陆SSH代理,但每次输入就比较麻烦了。
我现在对脚本一窍不通,哪位可以帮忙写个自动执行的脚本?
由于是有帐号、密码的SSH代理,执行“ssh -qTfnN -D 端口 用户名@远程ssh主机名”
等待几秒会要求输入密码,不知能否实现自动输入密码?
期待高手出现!!!
备:
Linux下简单的ssh代理与穿墙 « 瀚海星尘
http://vastars.info/linux/linux-proxy.html
求一个自动输入法密码的SSH代理脚本
-
- 帖子: 130
- 注册时间: 2010-12-17 13:16
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求一个自动输入法密码的SSH代理脚本
Google expect ssh
- bigsun
- 帖子: 301
- 注册时间: 2009-01-11 16:05
Re: 求一个自动输入法密码的SSH代理脚本
免密码ssh登陆设置免密码ssh登陆设置
1. 在本地机器执行
ssh-keygen -t rsa
过程中一路回车。
2.将生成的.ssh/id_rsa.pub文件中的内容复制到目标机的
.ssh/authorized_keys
文件中(若没有则创建)。一般用scp命令.
3.登陆到目标机器就不需要输入密码了。
-
- 帖子: 130
- 注册时间: 2010-12-17 13:16
Re: 求一个自动输入法密码的SSH代理脚本
回2楼
感谢!
找到一个方法 在3楼
Expect with SSH - Ubuntu Forums
http://ubuntuforums.org/showthread.php?t=220139
回3楼
那SSH服务器不是我的,是搜来的。谢谢
感谢!
找到一个方法 在3楼
Expect with SSH - Ubuntu Forums
http://ubuntuforums.org/showthread.php?t=220139
回3楼
那SSH服务器不是我的,是搜来的。谢谢
-
- 帖子: 61
- 注册时间: 2010-04-29 22:00
- 系统: Gentoo Linux ~amd64
- 联系:
Re: 求一个自动输入法密码的SSH代理脚本
spawn ssh 开头的那行根据需要修改
代码: 全选
#!/bin/sh
# -*- tcl -*-
# the next line won't be executed by tclsh \
exec tclsh $0
package require Expect
if {[fork] != 0} exit
disconnect
spawn ssh -o ServerAliveInterval=30 -CfND 9999 localhost
expect "assword:" {send "1\r"}
expect
-
- 帖子: 130
- 注册时间: 2010-12-17 13:16
Re: 求一个自动输入法密码的SSH代理脚本
比如说有个提供 SSH 服务器,IP:123.123.123.123 端口:22MaskRay 写了:spawn ssh 开头的那行根据需要修改
代码: 全选
#!/bin/sh # -*- tcl -*- # the next line won't be executed by tclsh \ exec tclsh $0 package require Expect if {[fork] != 0} exit disconnect spawn ssh -o ServerAliveInterval=30 -CfND 9999 localhost expect "assword:" {send "1\r"} expect
需要帐号密码才能登陆使用 帐号:abc 密码:456
还有,我用终端登陆时有时会提示 ……(yes/no?)
你看从 spawn 开始部分这样修改对吗?
spawn ssh -o ServerAliveInterval=30 -CfND 9999 [email protected]
expect "assword:" {send "456\r"}
expect "(yes/no)?" {send "yes\r"}
另,如果SSH服务器的端口不是默认的22,是66,那又该怎么写?
-
- 帖子: 61
- 注册时间: 2010-04-29 22:00
- 系统: Gentoo Linux ~amd64
- 联系:
-
- 帖子: 130
- 注册时间: 2010-12-17 13:16
Re: 求一个自动输入法密码的SSH代理脚本
回7楼
运行这个没有启动 SSH
在终端运行提示 bash: 在未预料的“US”附近出现语法错误
代码: 全选
#!/bin/sh
# -*- tcl -*-
# the next line won't be executed by tclsh \
exec tclsh $0
package require Expect
if {[fork] != 0} exit
disconnect
spawn ssh -o ServerAliveInterval=30 -CfND 9999 [email protected]
expect "assword:" {send "456\r"}
expect "(yes/no)?" {send "yes\r"}
在终端运行提示 bash: 在未预料的“US”附近出现语法错误
-
- 帖子: 61
- 注册时间: 2010-04-29 22:00
- 系统: Gentoo Linux ~amd64
- 联系:
Re: 求一个自动输入法密码的SSH代理脚本
代码: 全选
#!/bin/sh
# -*- tcl -*- \
exec tclsh $0
package require Expect
if [fork] exit
disconnect
spawn ssh -o ServerAliveInterval=30 -CfND 9999 localhost
expect {
"(yes/no)\\?" {send "yes\r"; exp_continue}
"assword:" {send "1\r"}
}
expect