openssh是什么这里不做解释,但凡是用过linux系统的一般都是会了解这个的,毕竟openssh都是系统自带的应用。

openssh一般都是指linux上的客户端,很多linux系统自有客户端的ssh没有服务器端的ssh,为此我们可以手动安装服务器端的ssh:

sudo apt install openssh-server

===========================================

最近在家想着通过自己的linux主机直接访问校园网的内网,但是学校的vpn客户端只有Windows版本和Mac版本,不能把这个vpn客户端安装到linux主机上,因此不能直接通过linux主机访问学校内网。

于是想到Windows主机上运行的proxy客户端,由于工作的需要,自己的Windows主机是一直都有运行proxy客户端的,这个客户端就是:

由于这个proxy客户端是可以接受局域网中其他主机的sock5请求的,因此平时我在这个linux主机也是通过这个Windows上的proxy客户端转发sock5的信息来实现特种上网的:

既然平时可以通过系统的sock5代理设置实现通过Windows上的proxy进行特种上网,那么是不是也同样可以支持ssh的proxy连接呢?

于是手打命令:

ssh devil@210.35.97.210 -p 53666

结果的显示是无法连接。

想了半天也没有想出一个比较靠谱的解释,最后也只能得到一个结论,那就是认为这个ssh默认的网络连接是不支持sock5的proxy的,既然这样那就不能通过系统的默认sock5的proxy是ssh进行proxy连接,那也必然有其他的设置方法。

现有的网络情况为:

=============================================

经过在网上的查找资料终于发现如何设置ssh通过proxy连接服务器了:

给出一个使用proxy的Demo命令:

ssh -o ProxyCommand='nc -x 192.168.1.105:1080 %h %p'  devil@210.35.97.210 -p 53666

如果不使用proxy的话,命令为:

ssh  devil@210.35.97.210 -p 53666

也就是说ssh如果使用proxy需要加的命令为:

-o ProxyCommand='nc -x 192.168.1.105:1080 %h %p'

其中,-o ProxyCommand=  是必备的。

nc是应用netcat的缩写,

-x 后面跟着proxy的IP和端口,

%h %p  这里的含义不清楚,有种解释说是指目标主机地址和端口。

192.168.1.105 指proxy的地址和端口。

实际效果证明:

ssh -o ProxyCommand='nc -x 192.168.1.105:1080 %h %p'  devil@210.35.97.210 -p 53666

这个命令在192.168.1.104的Ubuntu主机上执行,成功的连接到192.168.1.105的proxy上,并通过192.168.1.105上的校园vpn客户端访问到了校园网内的深度服务器。

加入保活参数后无法运行:

ssh -o ProxyCommand='nc -x 192.168.1.105:1080 %h %p'  devil@210.35.97.210 -p 53666  ServerAliveInterval=60

 

校园VPN客户端:

Windows上的proxy:

===========================================================

参考:

https://ieevee.com/tech/2017/10/19/ssh-over-socks5.html

https://blog.csdn.net/ASX20042005/article/details/7041294

SSH如何通过proxy进行服务器连接的更多相关文章

  1. ssh免密登录linux服务器

    Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...

  2. 【转】SSH中 整合spring和proxool 连接池

    [摘要:比来做的一个项目中应用到了毗邻池技巧,大概我们人人比拟认识的开源毗邻池有dbcp,c3p0,proxool.对那三种毗邻池来讲,从机能战失足率来讲,proxool轻微比前两种好些.本日我首要简 ...

  3. (数据科学学习手札132)Python+Fabric实现远程服务器连接

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 日常工作中经常需要通过SSH连接到多台远程 ...

  4. 【PostgreSQL】PostgreSQL添加新服务器连接时,报错“Server doesn't listen ”,已解决。

    PostgreSQL添加新的服务器连接时,报错:

  5. Navicat for MySQL的服务器连接管理

    Navicat for MySQL可以导入导出数据库服务器的连接,方便你换机器时不用再设置连接.    导出为一个.ncx的XML文件. 导入后,在执行一个查询时,可能会报以下错误 这是因为源机器和本 ...

  6. 通过MSSQL连接服务器连接至Oracle数据库

    前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...

  7. 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server

    这段时间在研究火车头的入库教程,在“配置登陆信息和数据库(mysql)”连接中,出现“服务器连接错误Host 'XXX' is not allowed to connect to this MySQL ...

  8. SQL2008和SQL2000可以跨服务器连接查询的测试实例

    测试目的: SQL2008 和 SQL2000 是否可以跨服务器连接查询 -- 测试环境: --A 虚拟机 XP ( IP : .0.0.213 )安装 SQL2000 个人版,并安装 SP4 补丁. ...

  9. ssh免密码登陆远程服务器

    ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...

  10. 64位sql server 如何使用链接服务器连接Access

    原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 ...

随机推荐

  1. Vue 打包相关

    Vue 打包相关 vue-cli-service build# 用法:vue-cli-service build [options] [entry|pattern] 选项: --mode 指定环境模式 ...

  2. mongodb插入文档,更新文档和检索文档

    import com.mongodb.client.*; import com.mongodb.client.MongoClient; import com.mongodb.client.model. ...

  3. 3年Java阿里跳字节的面试心得总结

    中厂->阿里->字节,成都->杭州->成都 系列文章目录和关于我 0.前言 笔者在不足两年经验的时候从成都一家金融科技中厂跳槽到杭州阿里淘天集团,又于今年5月份从杭州淘天跳槽到 ...

  4. Isolution

    <template> <div style="float:left;width: 100%; margin-left: 0"> <el-row > ...

  5. 在 VSCode 中编写 Markdown 的进阶指南

    最新版的 Visual Studio Code 对 Markdown 的支持已显著提升,其在预览方面的体验甚至可以与 Markdown Preview Enhanced 插件相比.本文将介绍一些优化方 ...

  6. Python_9 py文件导入和路径处理

    一.查缺补漏 Python中两个值交换可以直接交换如:a,b=b,a 冒泡就是从小到大排序,因为越到后越大 自动导包也适用于自己创建的模块 关于正斜杠和反斜杠https://www.cnblogs.c ...

  7. 模拟用户登录-cookes

    import requests url = 'https://www.xread8.com/user/login.json' headers = { 'User-Agent': 'Mozilla/5. ...

  8. 嵌入式HLS 案例开发步骤分享——基于Zynq-7010/20工业开发板(1)

    目 录 前 言 3 1 HLS 开发流程说明 5 1.1 HLS 工程导入 5 1.2 编译与仿真 6 1.3 综合 8 1.4 IP 核封装 10 1.5 IP 核测试 14 前 言 本文主要介绍 ...

  9. Golang 依赖注入设计哲学|12.6K 🌟 的依赖注入库 wire

    一.前言 线上项目往往依赖非常多的具备特定能力的资源,如:DB.MQ.各种中间件,以及随着项目业务的复杂化,单一项目内,业务模块也逐渐增多,如何高效.整洁管理各种资源十分重要. 本文从"术& ...

  10. Java报表开发工具总结

    Java报表工具,首先可以分成两大类:纯Java报表工具,和支持Java的报表工具. 支持Java的报表工具 支持Java的报表工具.其实就是非Java的报表工具,但是可以在Java程序中调用,这样的 ...