SSH如何通过proxy进行服务器连接
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进行服务器连接的更多相关文章
- ssh免密登录linux服务器
Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...
- 【转】SSH中 整合spring和proxool 连接池
[摘要:比来做的一个项目中应用到了毗邻池技巧,大概我们人人比拟认识的开源毗邻池有dbcp,c3p0,proxool.对那三种毗邻池来讲,从机能战失足率来讲,proxool轻微比前两种好些.本日我首要简 ...
- (数据科学学习手札132)Python+Fabric实现远程服务器连接
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 日常工作中经常需要通过SSH连接到多台远程 ...
- 【PostgreSQL】PostgreSQL添加新服务器连接时,报错“Server doesn't listen ”,已解决。
PostgreSQL添加新的服务器连接时,报错:
- Navicat for MySQL的服务器连接管理
Navicat for MySQL可以导入导出数据库服务器的连接,方便你换机器时不用再设置连接. 导出为一个.ncx的XML文件. 导入后,在执行一个查询时,可能会报以下错误 这是因为源机器和本 ...
- 通过MSSQL连接服务器连接至Oracle数据库
前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...
- 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
这段时间在研究火车头的入库教程,在“配置登陆信息和数据库(mysql)”连接中,出现“服务器连接错误Host 'XXX' is not allowed to connect to this MySQL ...
- SQL2008和SQL2000可以跨服务器连接查询的测试实例
测试目的: SQL2008 和 SQL2000 是否可以跨服务器连接查询 -- 测试环境: --A 虚拟机 XP ( IP : .0.0.213 )安装 SQL2000 个人版,并安装 SP4 补丁. ...
- ssh免密码登陆远程服务器
ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...
- 64位sql server 如何使用链接服务器连接Access
原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 ...
随机推荐
- 将html页面转成pdf下载保存(html2canvas + jspdf或者Print调出打印功能导出pdf)
方案1:html2canvas + jspdf (缺点:清晰度不高) 安装插件: 亲测可用 yarn add html2canvas yarn add jspdf import html2canvas ...
- 揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计.ICL机制详解] 自GPT-3首次提出了In-Context Learning(ICL ...
- Vue3 中的 v-bind 指令:你不知道的那些工作原理
前言 v-bind指令想必大家都不陌生,并且都知道他支持各种写法,比如<div v-bind:title="title">.<div :title="t ...
- Nginx+Fail2ban 实现同一ip在一分钟内连续三次请求同一接口并响应成功时进行封禁
1. 安装 Fail2Ban 和 Nginx 如果尚未安装 Fail2Ban 和 Nginx,可以使用以下命令进行安装: # CentOS默认的仓库中可能不包含Nginx,所以需要添加EPEL(Ext ...
- DPO: Direct Preference Optimization 直接偏好优化(学习笔记)
学习参考:链接1 一.为什么要提出DPO 在之前,我们已经了解到基于人类反馈的强化学习RLHF分为三个阶段:全监督微调(SFT).奖励模型(RM).强化学习(PPO).但是RLHF面临缺陷:RLH ...
- Winform程序获取不到windows系统下本机的配置信息(解决)
无法获取到本地的mac地址的原因: 本地网络问题 相关服务被禁用 wmi配置错误或者失败. 本文着力于第三种问题的解决:可以参考 无法获取本地mac,如果是wmi服务没有打开的问题.可以使用运行wmi ...
- 梁培利DeFi去中心化金融课程笔记2024版
课程链接:https://space.bilibili.com/220951871/channel/collectiondetail?sid=2824381&ctype=0 讲义仓库:http ...
- Coding:小写一个debugfs
Coding:小写一个debugfs 上一次整活还是在上一个月,写了一个简单的module并且熟悉了module的挂载查看和卸载.这一次我们自然玩一个大的,就是利用linux的debugfs AP ...
- .NET Framework 4 请求https接口
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- Oracle 存储过程 捕获异常
1.带参数插入并带返回值,异常信息 CREATE OR REPLACE PROCEDURE test_pro (v_id in int,v_name in varchar2,app_code out ...