2020-11-18-ssh反向代理内网穿透


layout: post
title: “使用ssh反向代理实现内网穿透”
date: 2020-11-18 21:41:00
author: “Katsu”

0.准备


主机 用户名 ip地址
主机A katsu 192.168.0.10
主机B root aliyun
主机C xxx 10.10.0.10

A是实验室内的主机,C是寝室的主机,二者在不同的局域网,B是阿里云服务器,有公网ip。

目的:使用主机C ssh连接主机A

1. 在主机A上,制作公钥发送到主机B上,在主机A上实现对主机B的免密ssh登陆

ssh-keygen
ssh-copy-id -i .ssh/id_rsa root@aliyun

检查是否能免密登陆

ssh root@aliyun

2. 在主机A上执行ssh反向代理

ssh -fCNR 7280:localhost:22 root@aliyun

7280是主机B的端口,映射到主机A的22端口,之后对主机B的7280端口的访问都会被映射到主机A的22号端口


3. 检测是否成功反向代理

在主机B上执行

netstat -tnlp

如果有sshd的进程,且端口7280在被监听则没问题


4. 使用主机C ssh登陆主机A

使用主机Cssh登陆主机B,然后再用命令

ssh -p7280 [email protected]

登陆主机A,输入密码为主机A的密码,账户名为主机A的账户名

5.autossh自动登陆

上述的方法问题在于每次断开之后ssh可能会关闭,改用autossh可以在ssh关闭后自动打开
在主机A上执行

sudo apt install autossh
autossh -M 7281 -fCNR 7280:localhost:22 root@aliyun

然后从步骤3开始重复上述步骤

你可能感兴趣的:(局域网,ssh,linux,网络)