使用x/net/proxy包,如下所示:

package mainimport ("log""golang.org/x/crypto/ssh""golang.org/x/net/proxy"
)func main() {sshConfig := &ssh.ClientConfig{User: "user",// Auth: .... fill out with keys etc as normal}client, err := proxiedSSHClient("127.0.0.1:8000", "127.0.0.1:22", sshConfig)if err != nil {log.Fatal(err)}// get a session etc...
}func proxiedSSHClient(proxyAddress, sshServerAddress string, sshConfig *ssh.ClientConfig) (*ssh.Client, error) {dialer, err := proxy.SOCKS5("tcp", proxyAddress, nil, proxy.Direct)if err != nil {return nil, err}conn, err := dialer.Dial("tcp", sshServerAddress)if err != nil {return nil, err}c, chans, reqs, err := ssh.NewClientConn(conn, sshServerAddress, sshConfig)if err != nil {return nil, err}return ssh.NewClient(c, chans, reqs), nil
}

golang 使用socks代理 连接远程ssh服务器相关推荐

  1. MAC OS X 10.8 操作远程SSH服务器 + 无密码输入使用SSH服务器

    怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建. http://www.osssme.org/ 使用命令行连接连接远程SSH服务器,root为我使用的远程服务器用户名,@后为 ...

  2. ssh 隧道 mysql_利用SSH隧道方式连接远程MySQL服务器

    1.简介: 大多数人知道SSH是用来替代R命令集,用于加密的远程登录,文件传输,甚至加密的FTP(SSH2内置),因此SSH成为使用极广的服务之一,不仅如 此,SSH还有另一项非常有用的功能,就是它的 ...

  3. ssh隧道远程mysql_利用SSH隧道方式连接远程MySQL服务器

    1.简介: 大多数人知道SSH是用来替代R命令集,用于加密的远程登录,文件传输,甚至加密的FTP(SSH2内置),因此SSH成为使用极广的服务之一,不仅如 此,SSH还有另一项非常有用的功能,就是它的 ...

  4. Mac下使用SSH连接远程Linux服务器

    本文主要介绍三种方法,在Mac下使用SSH连接远程Linux服务器. 方法一:使用终端 1.打开终端,点击新建远程连接 2.点击加号,然后添加自己服务器的IP地址 3.点击右侧的服务器,然后在下方输入 ...

  5. 在IDEA中通过密钥认证的方式使用SSH连接远程Linux服务器

    引入 如图,其中Password是通过密码的方式,即你只需要知道远程服务器指定用户的登录密码,你可以连接它:而Key pair则是通过密钥的方式,即你需要在本地服务器上生成公钥证书,然后上传到指定的远 ...

  6. MobaXterm的SOCKS代理连接与bitvise client 软件的C2S与S2C连接

    1.MobaXterm的SOCKS代理连接的一种使用场景 远程两台Linux服务器,外网服务器和内网服务器,外网服务器有内外网ip,内网服务器不提供外网ip 外网服务器外网ip为100.100.100 ...

  7. vscode连接远程Linux服务器失败

    vscode连接远程Linux服务器失败 文章目录 vscode连接远程Linux服务器失败 解决连接失败 设置密钥免密登录 解决连接失败 问题 vscode会不断的提示你去输入密码,然后一直retr ...

  8. [Ubuntu]在Ubuntu系统下连接远程Ubuntu服务器并传输文件:安装putty, filezilla

    转载自:[Ubuntu]在Ubuntu系统下连接远程Ubuntu服务器并传输文件_北望花村-CSDN博客_ubuntu上传文件到服务器 本篇文章介绍,如何在Ubuntu系统下连接远程Ubuntu系统并 ...

  9. 使用PuTTY连接远程Linux服务器

    PuTTY软件 putty 简介 简单的说 putty 是一个开源程序,用来连接服务器.最早的时候,仅仅在window系统上可以使用,后来在其他的系统上也可以运行,比如 类unix, mac .put ...

最新文章

  1. Android APK应用安装原理(2)-查找APK并自动安装
  2. Facebook狂撒20万美元,悬赏用AI检测P图盗版问题
  3. [转]Android最佳实践之:StrictMode介绍
  4. Linux下安装PHP7.1并做关联APACHE处理
  5. 性能计数器自动收集-logman
  6. 蓝牙耳机测试用例_移动端测试用例设计总结,这些你得懂!
  7. 【BZOJ1031】[JSOI2007]字符加密Cipher 后缀数组
  8. 零基础入门人工智能有门槛吗?学会这些就够了
  9. wxWidgets:wxFilePickerCtrl类用法
  10. android服务器 性能,Android性能优化(中)
  11. 怎么查询服务器绑定的网站吗,服务器绑定网站吗
  12. meterpreter持久后门
  13. matlab二分类svm高斯核 实例,16 SVM - 代码案例三 - 不同SVM核函数效果比较
  14. linux和windows图形运算效率,linux和windows下UDP发送效率的有趣比较
  15. 【直播预告】“CCF-NLP走进高校”系列之“走进郑州大学”
  16. IDEA中Activate Power Mode插件 取消抖动
  17. 1060显卡用什么软件测试,参测显卡超频测试——10分
  18. 安卓改机,改串的研究
  19. app开发流程:手机软件开发app的6个步骤
  20. vue项目中 高德地图总是出不来的问题

热门文章

  1. 4安装-企业级 Hyper-v 群集部署实验方案
  2. 5G NGC — PCC 策略与计费控制框架
  3. C 语言编程 — 高级数据类型 — 共用体
  4. 用 Flask 来写个轻博客 (24) — 使用 Flask-Login 来保护应用安全
  5. 计算机网络-网络层(一)
  6. UVa 1531 - Problem Bee
  7. 工作中linux定时任务的设置及相关配置
  8. zend opcache的最佳设置
  9. IBATIS错误汇总
  10. RAC对单实例DG redo大小日志修改