SSH的巨大价值体现在能够配置为代理服务器上。不像在Windows下每次还需要手动登录设置,Linux有很好的工具链能够实现自动设置SSH代理,就是expect和ssh的联合使用,再加上proxychains,任何程序都可以享用代理了,在此我简单介绍一下。

首先要安装expect和openssh,如果没有,Ubuntu下输入apt-get install expect openssh-client即可安装。接下来需要写一段脚本:

#!/usr/bin/expect
set timeout 60
spawn /usr/bin/ssh -D 本地端口 -g 用户名@服务器
expect {
"password:" {
send "密码\r"
}
}
interact {
timeout 60 { send " "}
}

把上面的中文替换成对应内容,保存为一个脚本文件,例如sshproxy.sh,然后给它执行权限,chmod +x sshproxy.sh。在终端下运行./sshproxy.sh,就会发现自动登录到了服务器上,而且在本地建立了一个socks5代理。而且使用这段脚本还不用担心会被踢,因为每60秒都要发送一个空格表示还在活动。如果把sshproxy.sh放到自动启动,那么以后每次启动都可以自动建立代理了。

这种方法建立的代理是socks5代理,在浏览器中很容易配置使用,但如果其他程序也想用它,而没有代理功能,该怎么办呢?在Windows下面的确不好办(需要各种付费的、不稳定的代理转换工具),而在Linux下一切很简单,只需要一个名叫proxychains的工具。Ubuntu安装方法为apt-get install proxychains。安装完以后要设置/etc/proxychains.conf文件,删除[ProxyList]后面的内容,然后添加

socks5  127.0.0.1 端口

把“端口”替换为SSH代理设置的端口。然后在想要运行的程序前加上proxychains ,即可使用代理。例如输入proxychains wget http://www.youtube.com -r,即可给wget设置SSH代理去下载。

正如其名,实际上proxychains是个代理链,我们可以设置多个代理,实现多级跳板连接。用在SSH代理上实在是大才小用了。

转载于:https://www.cnblogs.com/tham/p/6827392.html

Linux下实现自动设置SSH代理相关推荐

  1. linux怎么设置自动缩进,配置Linux下vim自动缩进等功能

    从终端打开配置文件: vim ~/.vimrc 添加如下代码: set tabstop=4 set softtabstop=4 set shiftwidth=4 set autoindent set ...

  2. SSH远程管理,构建密钥对验证的SSH体系,设置SSH代理功能。

    SSH服务及配置文件 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,对通信双方的数据实行了加密处理,提供了更好的安全性.OpenSSH是实现SSH协议的开源软件 ...

  3. linux下使用 xset 设置屏保

    linux下使用 xset 设置屏保 把从网上找到的资料整理到这里 Linux下的屏保设置 xset s 与 xset dpms http://bbs.chinaunix.net/archiver/? ...

  4. 转: linux下的自动对时

    转自: http://www.cnblogs.com/vimmer/archive/2012/05/17/2505785.html 评注:date 命令格式为: date -s 2012-08-02 ...

  5. Linux 下Oracle11g 自动随系统启动

    Linux 下Oracle11g 自动随系统启动 安装完毕 Oracle 11g 每次都得手动启动 | 停止数据库(dbstart | dbshut).监听器(lsnrctl).控制台(emtcl). ...

  6. linux中vim如何显示行数,vim 在linux下中如何设置显示行数

    在.vimrc(或/etc/vimrc)文件中输入如下文本: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set ...

  7. vim 在linux下中如何设置显示行数

    在.vimrc(或/etc/vimrc)文件中输入如下文本: set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set ...

  8. Linux下环境变量设置

    1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误. 2.那么什么是环境变 ...

  9. linux下桥接模式设置静态IP实现上网

    桥接网络连接模式的虚拟机就当作主机所在以太网的一部分,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑,可以像主机一样可以访问以太网中的所有共享资源和网络连接,可以直接共享主机网络的互联网 ...

最新文章

  1. 算法(16)-leetcode-explore-learn-数据结构-二叉树总结
  2. elasticsearch+kibana使用中踩的坑,持续更新中。
  3. 红橙Darren Android视频笔记 自定义view的三个构造方法以及一种实现换肤的方案 测量mode
  4. 高德车道级导航已上线8城 新增支持小米11 Pro
  5. java通过jdbc访问mysql,update数据返回值的思考
  6. oracle scn与数据恢复,Oracle数据恢复:数据文件头的SCN与时间校验
  7. 明确职责分工的重要性_发挥属地作用明确责任分工
  8. 自动化测试unittest测试框架实例
  9. [2018.08.09 T3] 几何题
  10. 微信小程序代码大全 - 小程序开发福利
  11. 计算机组成原理问题集合
  12. linux基础:快速搭建平台
  13. 前端,自定义印章效果
  14. php后台管理员登录密码错误,织梦后台登陆不上提示验证码不正确1.密码明明正确的,却无法登陆后台管理...
  15. PADS 去除走线折角处提示和过孔提示
  16. html完整语句,html语句
  17. 怎么申请微信小程序流程_小程序发布需要什么资质
  18. 【AI初识境】从头理解神经网络-内行与外行的分水岭
  19. 时间序列模型步骤教程(ARIMA)
  20. 质数乘积 -LintCode

热门文章

  1. python关闭exe程序_Win 10 中使用 Python 碰到的奇怪现象
  2. java启动应用_java 学习:在java中启动其他应用,由jenkins想到的
  3. linux支持异步io吗,Linux 异步IO
  4. lntellijidea怎么创建文件_DBC文件到底是个啥
  5. 【OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器
  6. Python数模笔记-模拟退火算法(4)旅行商问题
  7. python基础课程1(看代码看注释)--基本操作和数据类型
  8. 华为系统10.0是鸿蒙吗,暂时忘记鸿蒙!华为EMUI 10.0发布时间确认:这才是主角...
  9. c语言简单选择对字符串数组排序,简单了解C语言中直接插入排序与直接选择排序实现...
  10. 用计算机对话的小品,爆笑小品剧本台词《作弊记》