ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSH远端传入实现内网穿透

2022-06-04 13:04:34  阅读:213  来源: 互联网

标签:主机 端口 穿透 Pa SSH 服务器 远端 连接 ssh


Refer:

场景:


隧道/端口转发

感觉mobaxterm这个功能更好用直观些

xshell

  1. 在主机B上安装xshell

  2. 使用xshell连接主机C,新建会话,填写自己的外网主机IP和端口,和用户身份验证,注意重新连接需要填写。

  1. 打开日志,点击跟踪,勾选协议事件

  2. 点击隧道,点击添加,按如下图填写转移规则

  1. 使用主机C访问主机A

经过上面操作,打开新建的会话时会有如下提示

此会话bwg即是主机C,在主机C上

ssh localhost -p 6634,按照提示输入yes和主机A的密码即可访问主机A

主机D如何直接访问主机A

在主机C上配置sshd配置转发

  1. 在主机C上编辑sshd配置文件/etc/ssh/sshd_config
GatewayPorts yes
  1. 然后重启sshd
sudo systemctl restart sshd
  1. 在其它主机D可以直接 ssh 主机C的IP(95.49.4.*) + 监听的端口(6634) 访问主机A

保持活跃连接

不太管用呢?还需探索,如果有知道的麻烦评论赐教

设置保持活动状态

设置连接-重新连接反而会导致建立过多连接,出现ssh卡顿或连不上。 (不确定是不是这个原因)

Mobaxterm

  1. 选择tunnel-remote port forward

  2. 参照提示填写ip和端口

  3. 开启密钥连接,自动重连和保持连接

其他方法配置过程(比较繁琐,效果不好)

Refer:Linux下ssh反向隧道进行内网穿透

场景一致,容易断连

ssh反向代理实现内网穿透

公网服务器a,公网ip为IPa,开放ssh转发的端口Pa,用户名accountA

内网服务器b,无法访问外网,用户名account

连接内网和外网的工位机c

一、内网服务器配置ssh代理

如果服务器b访问不了公网服务器a的话:

  1. 需要在工位机c上的v2rayN开启允许局域网的连接,确定代理的socks的端口Pc和内网ipIPc

  2. 服务器b设置代理(可选,如果需要服务器b下载的话)

  3. 设置服务器b的ssh代理:

mkdir ~/.ssh
cd ~/.ssh
vi config

添加以下内容,替换IPc,Pc

Host *
    ProxyCommand nc -X 5 -x IPc:Pc %h %p

二、设置ssh反向代理

登录服务器b,输入以下指令:(替换Pa,accountA,IPa

ssh -f -C -N -R Pa:``localhost:22`` -o ServerAliveInterval=60 accountA@IPa

接下来输入密码

若要通过公网服务器a连接的话,在a的shell下:

ssh -p Pa accountB@localhost

三、保持连接

也可以直接安装autossh

  1. 先设置通过公钥登录

  2. 新建一个脚本reverse_ssh.sh,注意替换Pa和第6行

#!/bin/bash
while true;do
RET=`ps ax | grep "ssh -f -C -N -R Pa:localhost:22" | grep -v "grep"`
if [ "$RET" = "" ]; then
echo "restart ssh server"
ssh -f -C -N -R Pa:localhost:22 -o ServerAliveInterval=60 accountA@IPa
fi
sleep 10
done
  1. 设置运行权限
chmod +x reverse_ssh.sh
  1. 保持后台运行即可

一直连接不稳定

可能是工位机的ip不固定,比如经常切换wifi和网线连接

Refer:SSh连接失败,Socket error Event: 32 Error: 10053.

标签:主机,端口,穿透,Pa,SSH,服务器,远端,连接,ssh
来源: https://www.cnblogs.com/xdo0/p/16341667.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有