应用场景:

如果你有Linux云主机(腾讯、华为等),且公司有一台只有内网IP (或动态IP) 的Win10工作机;你计划在家里工作时,通过家里的电脑连接公司的工作机 (且不想使用类似Teamviewer这样的远程控制软件)的话,本文适合你。

总体目标:

Win10下使用SSH反向隧道(端口转发)连接远程桌面,并作为服务自启动(不用安装Cygwin)

总体说明:

(1)内网计算机A(Win10)中, 需要如下软件的文件:Cygwin64和openssh,autossh组件

(2)外网计算机B(Linux)若为云主机(例如华为云),需要打开相应端口(例如33389等)

实现方法:

1. 公网主机B(Linux)的配置

vim /etc/ssh/sshd_config

添加

GatewayPorts yes

这句话的意思是监听端口可以绑定到任意其他IP,不然只有本机127.0.0.1可以访问

重启一下ssdh服务

sudo service sshd restart

特别提醒:

如果是一些供应商的云主机,记得要去安全策略组那里开放33389端口,不然怎么样都是访问不了的.

2. 内网计算机A(Win10)中下载安装Cygwin

Cygwin下载地址: http://www.cygwin.com/

默认的Cygwin没有安装ssh,所以重新运行http://www.cygwin.com/setup.exe,

在Select Packages的时候,在search输入ssh,选择 openssh和autossh

openssh:The OpenSSH server and client programs

autossh

3. 内网计算机A(Win10)的配置(文件id_rsa的获取)

内网计算机A(Win10)中打开cygwin控制台并输入(按提示输入外网计算机B的root账号的密码)

cd ~

mkdir -p .ssh

chmod 700 .ssh

cd .ssh

ssh-keygen

ssh-copy-id root@121.36.163.25

配置说明:

注意换成你自己的IP, 执行后会提示输入主机B的密码(要注意这里),

执行完毕之后,我们登录到B,就发现 ~/.ssh/authorized_keys 里面就多了A的SSH公钥了,成功建立SSH认证.

这个步骤主要是完成了从机子A到B的ssh的免密登录,具体可以看~/.ssh/下面的一些密钥更改情况

用root登陆121.36.163.25主机,

这下应该可以免密码 ssh 得进去

ssh root@121.36.163.25

ls ~/.ssh/

会有文件

authorized_keys

4. 内网计算机A(Win10)的配置(建立反向隧道)

(1) run.bat

------------------------------------------

@echo off

::setting

set HOST="121.36.163.25"

set KEY_FILE="id_rsa"

set MONITOR_PORT=33389

set LOCAL_PORT=3389

set AUTOSSH_PATH=./ssh.exe

ssh.exe -o ServerAliveInterval=180 -i %KEY_FILE% root@%HOST% -p 22 -R %MONITOR_PORT%:localhost:%LOCAL_PORT% -fN

------------------------------------------

(2) 使用nssm.exe将run.bat加为Windows服务。具体过程为:

nssm.exe下载: https://nssm.cc/download

管理员运行CMD,定位到nssm.exe目录,输入

nssm install autossh

后弹出对话框,

选择run.bat,并输入服务名称 autossh

即可建立windows服务.

(CMD/services.msc查看并启动autossh服务)

#

若删除服务可用 (以管理员运行CMD):

sc delete autossh

5. 其他可联网Windows机器上"远程桌面连接"

121.36.163.25:33389

peakgrin:33389

6. 其他

远程重启Win10(以管理员运行CMD):

shutdown -r -t 0

原文链接:https://mp.weixin.qq.com/s/NCWkpsNUqEi5pir9gFAZXw

Win10使用SSH反向隧道(端口转发)连接远程桌面的更多相关文章

  1. 利用SSH反向隧道,连接内网服务器

    前言 公司有一台文件服务器(内部使用,无外网IP),上面主要安装了SVN服务,用来存储和共享各部门的文档,因为都是内网,直接远程(mstsc)上去就可以方便维护,但最近公司租了新的办公室,部分员工被分 ...

  2. SSH 内网端口转发实战

    导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧 ...

  3. 基于SSH协议的端口转发

    [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透等.这篇文章将主要讲解3种常用的ssh tunnelling使用方法和基本原理. 在介绍具体内容前,我先奉上端口转发的常用情景: ...

  4. Win10无法连接远程桌面提示“你的凭据不工作”的三个解决方法

    Win10无法连接远程桌面提示"你的凭据不工作"的三个解决方法(转藏) 解决方法一:修改组策略 1.在"开始"窗口运行gpedit.msc,进入计算机配置-&g ...

  5. Win10连接远程桌面的时候提示您的凭证不工作该怎么办?

    Win10连接远程桌面的时候提示您的凭证不工作该怎么办?Win10连接远程桌面的时候,提示“您的凭证不工作”.原有保存的远程帐号密码无法使用,导致远程登录系统失败.我这里总结下自己解决的方法,分享给大 ...

  6. 几种常见的Windows 服务器无法联网/无法连接远程桌面等故障解决方案

    SEO优化扫我一.服务器无法连接远程桌面 1.Ping不通IP,网站打不开,不可以远程连接.可能是服务器死机了,或者网络有问题,请尝试Web重启服务器或联系服务商确认. 2.Ping正常,网站可以打开 ...

  7. Windows 10无法连接远程桌面解决办法(这可能是由于CredSSP加密Oracle修正)

    问题描述: 使用windows10 连接远程桌面时出现如下错误: 出现身份验证错误. 要求的函数不受支持. 这可能是由于CredSSP加密Oracle修正. 若要了解详细信息,请访问https://g ...

  8. 远程桌面连接无法验证您希望连接的计算机的身份-mac连接远程桌面

    在使用Mac(苹果笔记本)连接远程桌面的时候提示:”远程桌面连接无法验证您希望连接的计算机的身份”,具体异常如截图:解决方法如下:1. 登录云服务器.2. 打开运行,然后输入命令gpedit.msc, ...

  9. [Windows]解决:windows连接远程桌面-出现身份验证错误,要求的函数不受支持( CredSSP加密数据库修正)[转载]

    文由 需要在本地Windows系统电脑通过远程桌面(mstsc)另一台Windows服务器,将其内的数据拷贝过来.但却发生了这样的异常 解决方案 step1 Win+R step2 打开注册表: gp ...

  10. ssh验证和端口转发

    ssh 服务登录验证 ssh 服务登录验证方式: 用户/ 口令 基于密钥 基于用户和口令登录验证 客户端发起ssh请求,服务器会把自己的公钥发送给用户 用户会根据服务器发来的公钥对密码进行加密 加密后 ...

随机推荐

  1. Java怎么把多个对象的list的数据合并

    1.示例一:创建几个包含Person对象的List,并将它们合并成一个新的List 在Java中,将多个对象的List合并通常涉及到遍历这些List并将它们的元素添加到一个新的List中.这里,我将给 ...

  2. 从零开始掌握 Kubernetes:Pod 和 Deployment 的幕后故事

    1. 引言 在如今的技术世界中,随着微服务架构的广泛应用和云原生理念的兴起,应用程序的开发.部署和管理发生了翻天覆地的变化.容器技术的出现使得开发者可以轻松地将应用及其所有依赖打包在一个轻量级.可移植 ...

  3. 祝福 Eric 的下一段旅程,Flutter 3.3 现已发布

    Flutter 团队及社区成员们在美丽的城市挪威奥斯陆向您发来问候,我们正在此参加社区举办的 Flutter Vikings 活动,这是一个为期两天的开发技术交流盛会,虽然线下门票已经售罄,但您还可以 ...

  4. Shiro-认证绕过漏洞(CVE-2020-1957)

    漏洞原理 核心点就是shiro和spring对uri进行配合匹配的时候有缺陷导致的,shiro中很轻易就能绕过,其次spring中对;分号好像情有独钟,被大牛们发现后也就一下子绕过了. 主流paylo ...

  5. 深入理解HDFS 错误恢复

    我们从动态的角度来看 hdfs 先从场景出发,我们知道 hdfs 的写文件的流程是这样的: 数据以 pipeline 的方式写入 hdfs ,然后对于读取操作,客户端选择其中一个保存块副本的 Data ...

  6. USB硬件特性(速度、名称、供电)

    USB传输速度 USB1.0版本,USB LS(Low Speed低速),速度1.5Mbps. USB1.1版本,USB FS(Full Speed全速),速度12Mbps. USB2.0版本,USB ...

  7. 世界第一!华为云图引擎服务GES大幅刷新世界纪录

    近日,国际关联数据基准委员会(Linked Data Benchmark Council,以下简称LDBC)公布了社交网络测试交互式负载(SNB INTERACTIVE WORKLOAD,以下简称为S ...

  8. python安装pandas+pytz

    如下图所示,在安装pandas的过程中,发现他还要安装pytz这个包.我不想等他自己下载,因为很容易出错,所以我就先下载了pytz这个包,然后安装完毕,再去安装pandas这个包. 首先呢先登录这个网 ...

  9. 共124篇!墨天轮“高可用架构”干货文档分享(含Oracle、MySQL、PG)

    大家期待的高可用篇来啦!在上期<墨天轮高分技术文档分享-Oracle升级迁移篇>中大家对数据库高可用架构相关文档呼声较高,这不就来啦! 数据库的高可用架构能够在发生宕机或意外中断等故障时起 ...

  10. Python之py9-py9作业检查

    目录结构 代码 import os import datetime name_list = [ '赵嘉豪', '巩景云', '李琦', '潘立府', '胡凯琴', '雷俊', '刘闯', '毛毅智', ...