Skip to content

Eternal Center

  • System (系统)
  • Services (服务)
  • Databases (数据库)
  • Clusters (集群)
  • Big Data (大数据)
  • Cloud Computing (云计算)
  • Languages (语言)
  • Project (项目)
  • Writings (写作)
  • Eternity (永恒)
  • News (消息)
  • Chronicle (编年史)
  • Words (言)
Posted on February 4, 2021April 29, 2022 by Mingyu Zhu

[实验] Linux SSH 内网穿透

步骤目录:

步骤一:规划拓扑
1.1 服务器列表
1.2 拓扑图
1.3 服务器列表简介

步骤二:系统环境要求

步骤三:创建用于 SSH 内网穿透的用户
3.1 创建用于 SSH 内网穿透的用户
3.2 给用于 SSH 内网穿透的用户设置密码

步骤四:创建用于内 SSH 内网穿透的 SSH 密钥
4.1 进入到用户
4.2 创建用于内 SSH 内网穿透的 SSH 密钥
4.3 退出用户

步骤五:让内网服务器可以无密码访问外网服务器
5.1 进入到用户
5.2 将内网服务器的公钥拷贝到外网服务器
5.3 退出用户

步骤六:让外网服务器可以无密码访问自己
6.1 进入到用户
6.2 将内网服务器的公钥拷贝到外网服务器
6.3 退出用户

步骤七:实现内网服务器到外网服务器的 SSH 内网穿透
7.1 实现内网服务器到外网服务器的 SSH 通道
7.2 实现外网服务器 SSH 端口的影射

步骤八:客户端电脑使用 SSH 外网穿透

具体的操作步骤:

步骤一:规划拓扑
1.1 服务器列表

客户端电脑
外网服务器
内网服务器

1.2 拓扑图

客户端电脑 外网服务器 内网服务器

1.3 拓扑图简介

内网服务器建立到外网服务器的 SSH 通道
客户端电脑通过 SSH 外网服务器连接到内网服务器
内网服务器就算没有公网 IP 地址也能被 SSH 上

步骤二:系统环境要求

1) 所有服务器的系统都需要是 Linux 版本
2) 所有服务器都要关闭防火墙
3) 内网服务器要能够 ping 通外网服务器
4) 客户端电脑要能够 ping 通外网服务器

步骤三:创建用于 SSH 内网穿透的用户
3.1 创建用于 SSH 内网穿透的用户

(分别在内网服务器和外网服务器上执行以下步骤)

# useradd <user for intranet penetration>

3.2 给用于 SSH 内网穿透的用户设置密码

(分别在内网服务器和外网服务器上执行以下步骤)

# passwd <user for intranet penetration>

步骤四:创建用于内 SSH 内网穿透的 SSH 密钥
4.1 进入到用户

(分别在内网服务器和外网服务器上执行以下步骤)

# su - <user for intranet penetration>

4.2 创建用于内 SSH 内网穿透的 SSH 密钥

(分别在内网服务器和外网服务器上执行以下步骤)

$ ssh-keygen

4.3 退出用户

(分别在内网服务器和外网服务器上执行以下步骤)

$ exit

步骤五:让内网服务器可以无密码访问外网服务器
5.1 进入到用户

(只在内网服务器上执行以下步骤)

# su - <user for intranet penetration>

5.2 将内网服务器的公钥拷贝到外网服务器

(只在内网服务器上执行以下步骤)

$ ssh-copy-id <IP address of Internet server>

5.3 退出用户

(只在内网服务器上执行以下步骤)

$ exit

步骤六:让外网服务器可以无密码访问自己
6.1 进入到用户

(只在外网服务器上执行以下步骤)

# su - <user for intranet penetration>

6.2 将内网服务器的公钥拷贝到外网服务器

(只在外网服务器上执行以下步骤)

$ ssh-copy-id 127.0.0.1

6.3 退出用户

(只在外网服务器上执行以下步骤)

$ exit

步骤七:实现内网服务器到外网服务器的 SSH 内网穿透
7.1 实现内网服务器到外网服务器的 SSH 通道

# su - <user for intranet penetration>
$ ssh -X -fCNR 11000:localhost:22 <IP address of Internet server>

(补充:这里以使用用于内网穿透的用户将内网服务器的 22 端口影射到外网服务器的 11000 端口为例)

(
注意:如果在内网服务器和外网服务器上创建的用于 SSH 内网穿透的用户名称不一样,则需要在最后 SSH 时添加上外网服务器上用于 SSH 的用户名

# su - <user for intranet penetration>
$ ssh -X -fCNR 11000:localhost:22 <user for intranet penetration>@<IP address of Internet server>

)

或者:

# ps -aux | grep -v grep | grep "11000:localhost:22 <IP address of Internet server>" &> /dev/null || su - <user for intranet penetration> -c 'ssh -X -fCNR 11000:localhost:22 <IP address of Internet server>'

(
注意:如果在内网服务器和外网服务器上创建的用于 SSH 内网穿透的用户名称不一样,则需要在最后 SSH 时添加上外网服务器上用于 SSH 的用户名

# ps -aux | grep -v grep | grep "11000:localhost:22 <IP address of Internet server>" &> /dev/null || su - <user for intranet penetration> -c 'ssh -X -fCNR 11000:localhost:22 <user for intranet penetration>@<IP address of Internet server>'

)

(补充:这里以使用用于内网穿透的用户将内网服务器的 22 端口影射到外网服务器的 11000 端口为例)

7.2 实现外网服务器 SSH 端口的影射

# su - <user for intranet penetration>
$ ssh -X -fCNL *:10000:localhost:11000 localhost

或者:

# ps -aux | grep -v grep | grep "*:10000:localhost:11000 localhost" || su - <user for intranet penetration> -c 'ssh -X -fCNL *:10000:localhost:11000 localhost'

(补充:这里以使用用于内网穿透的用户将外网服务器的 10000 端口影射到外网服务器的 11000 端口为例)

步骤八:客户端电脑使用 SSH 外网穿透

# ssh -p 10000 <user for intranet penetration>@<IP address of Internet server>

(补充:SSH 成功后,客户端电脑就可以直接 SSH 到内网服务器中了)

CategoriesChinese (中文), System (系统), System Login Security (系统登录安全), System Network & System Security & System Log (系统网络 & 系统安全 & 系统日志), System Operation (系统操作), System Operation & System Setting & System Software (系统操作 & 系统设置 & 系统软件), System Security (系统安全)

Post navigation

Previous PostPrevious [内容] openSUSE 软件源的设置 (通过本地镜像实现)
Next PostNext [工具] Shell 批量设置官方软件源 (openSUSE Leap 15.2 版)

Aspiration (愿景):

Everyone can achieve self achievement and self happiness fairly

每个人都能公平地实现自我成就和自我幸福

Position (位置):

Running on Evolution Host and DigitalOcean

正在 Evolution Host 和 DigitalOcean 上运行

Logo (徽标):

Additional Information (其他信息):

About Manual Clone Contact Disclaimer Donation Friendly Links 关于 说明书 克隆 联系 免责申明 捐赠 友情链接

Standby IP Address (备用 IP 地址):

152.69.204.95  150.230.63.10  Please configure before use / 请先配置再使用

Search Outside Website (站外搜索):

Google Wikipedia Bing
Proudly powered by LNMP Proudly powered by WordPress