ssh 代理

这个脚本通过自动登录免费的 ssh 账户,实现自动的 ssh 代理, 绑定的端口为 7070

ssh_proxy.sh:

#!/bin/bash
 
cd `dirname $0` #进入ssh_proxy.sh所在的目录
SSH_ACCOUNT_SITE="http://dailimm.com/freessh.php" #提供免费ssh账户的网站
 
'wget' -q $SSH_ACCOUNT_SITE -O /tmp/ssh_site
HOST=$(cat /tmp/ssh_site | grep "服务器地址" | sed "s/^.*value=\"\(.*\)\" onClick.*$/\1/") #获取服务器地址
USER= `cat /tmp/ssh_site | grep "服务器用户" | sed "s/^.*value=\"\(.*\)\" onClick.*$/\1/"` #获取用户名
PASSWORD= `cat /tmp/ssh_site | grep "服务器密码" | sed "s/^.*value=\"\(.*\)\" onClick.*$/\1/"` #获取密码
 
echo "$PASSWORD" #打印密码,当服务器忙时,密码获取的字段是服务器忙的信息
ssh.ex $HOST $USER $PASSWORD #利用expect实现自动登录

ssh_proxy.ex:

#! /usr/bin/expect -f
 
set HOST [lindex $argv 0] #获取服务器地址
set USER [lindex $argv 1] #获取用户名
set PASSWORD [lindex $argv 2] #获取密码
set PORT 7070 #设置绑定的端口号
set tout 60  #设置超时的时间
 
set timeout $tout
 
spawn ssh -D $PORT $USER@$HOST vi #连接服务器
expect "password: "
send "$PASSWORD\r" #输入密码
 
interact
expect eof

使用方法:

 ./ssh_proxy.sh

ssh_proxy.sh 和 ssh_proxy.ex 要在同一目录下。

更新时间: