首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

ubuntu下使用ssh干代理

2013-12-09 
ubuntu下使用ssh做代理之前我曾经写过一篇文章,讲的是在windows下通过ssh和firefox来穿越gfw,现在本篇文章

ubuntu下使用ssh做代理
之前我曾经写过一篇文章,讲的是在windows下通过ssh和firefox来穿越gfw,现在本篇文章将介绍在ubuntu乃至linux系统下柔和通过ssh来做代理。
我们通过之前的文章知道win下连接ssh需要MyEnTunnel或者putty软件,但是在linux系统下你并不需要这些软件,就拿ubuntu来说,安装好ubuntu之后,ubuntu就已近只带了ssh,那么我们该如何使用呢?
假设你的ssh帐号为xxx,服务区地址为yyy.com
首先打开终端:
输入
ssh -qTfnN -D 7070 xxx@yyy.com
-q :- be very quite, we are acting only as a tunnel. 使用安静模式
-T :- Do not allocate a pseudo tty, we are only acting a tunnel.不要分配tty
-f :- move the ssh process to background, as we don’t want to interact with this ssh session directly. 后台运行
-N :- Do not execute remote command.不执行远程命令
-n :- redirect standard input to /dev/null.从定向输出到/dev/null
然后回车,过一小会会出现提示,让你输入yes或者no,这里当然要输入yes,输入yes后接着会要你输入密码,现在只要输入ssh帐号的密码就可以了。
当然这样的话大家会觉得很麻烦,其实我们可以创建一个启动器,名称随意,命令类似于 ssh -qTfnN -D 7070 xxx@yyy.com,即可.
或者创建一个脚本,脚本内容如下:
#!/bin/bash
ssh -qTfnN -D 7070 xxx@yyy.com
保存为ssh.sh 然后在属性中勾选允许以程序执行文件即可
之前有人回复要是能够自动登录就好了,其实还真有这个脚本,但是有点不好的地方就是密码是明文保存的有点不安全,当然,如果就你一个人用电脑这个也就不是什么问题了,下面贴出脚本
#!/usr/bin/expect

sleep 18

###########################################
# 服务器地址(或IP)

set SERVER "xxx"

# 服务器 SSH 端口号

set PORT "xxx"

# SSH 用户名

set USER "xxx"

# 密码
set PASSWD "xxx"

###########################################

set timeout 60

spawn /usr/bin/ssh -qTfnN -D 7070 -p $PORT $USER@$SERVER

expect {

"*(yes/no)*" { send "yes\r"}

"password:" { send "$PASSWD\r" }

}

expect eof
把文中的xxx改成你自己的信息,然后保存成ssh.sh文件,然后赋予可执行权限,接着让他开机自启动即可。(运行此脚本需要安装expect。)
但我们成功的登录后就可以关闭终端了,也许有人问,这样我该如何关闭ssh代理呢?其实很简单,在终端中输入
killall ssh 即可。

热点排行