ubuntu实现SSH外网连接内网

本文详细介绍了如何通过SSH配置隧道实现外网访问内网主机。首先,分别在内网主机A和公网主机B上配置SSH密钥以实现免密登录。接着,在B主机上修改SSH配置,允许监听端口绑定任意IP。然后,在A主机上安装并配置autossh,将A的22端口映射到B的22222端口。最后,通过测试连接确保配置成功。此外,还提到了更换内网主机的方法及可能遇到的问题,如机器重启后autossh以root身份运行导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备

一台内网机器 A

  • IP:192.168.x.x (不重要)
  • SSH端口: 22
  • 用户名:a
  • 密码:a
  • 内网配置端口:22(即配置 SSH 端口的反向隧道)

带有公网ip的机器 B

  • IP:111.111.111.111
  • SSH端口: 22 (不重要)
  • 用户名:b
  • 密码:b
  • 公网端口:22222(重要,即用 B 的 22222 端口连到 A 的 SSH 22 端口)

配置SSH密钥

注意分清A是内网,B是公网。
在 A 主机上生成 SSH 秘钥,和 B 用 SSH 建立认证。

A的配置(内网主机)

ssh-keygen

这里写图片描述
直接连按3次enter就可以了,什么都不用输入。
密钥会自动保存在默认的地方,方便下一步操作。
(你会获得一长串SHA256:......

然后利用如下命令将 A 的 SSH 秘钥即SHA256:......里面的字符串,添加到 B 的 authorized_keys 里面:

ssh-copy-id b@111.111.111.111

注意换成你自己的ip,执行后会提示输入主机 B 的密码,执行完毕之后,我们登录到 B,就发现 a

### 配置FRP实现内网穿透并SSH连接 #### 安装依赖环境 为了确保能够顺利部署FRP,在Ubuntu 24上需先更新软件包列表以及安装必要的工具。 ```bash sudo apt update && sudo apt upgrade -y ``` #### 下载与解压FRP文件 前往官方GitHub页面下载适用于Linux系统的最新版本FRP压缩包,并将其放置于`/opt`目录下以便管理和维护。 ```bash cd /tmp/ wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz tar zxvf frp*.gz -C /opt/ mv /opt/frp_*/ /opt/frp ``` #### 编辑客户端配置文件 创建或编辑位于`/opt/frp/client.ini`中的客户端配置文件,设置如下参数来匹配个人网络状况: ```ini [common] server_addr = x.x.x.x ; 外网VPS IP地址 server_port = 7000 ; VPS端口监听位置 [ssh] type = tcp ; 协议类型 local_ip = 127.0.0.1 ; 内网机器本机IP local_port = 22 ; 被转发的服务端口号(这里是SSH默认端口) remote_port = 6000 ; 对应外部可访问的映射端口 ``` #### 启动FRPC服务 利用systemctl命令注册FRPC作为后台守护进程运行,从而保证即使重启系统也能自动启动此服务。 ```bash cat <<EOF | sudo tee /etc/systemd/system/frpc.service [Unit] Description=FRP Client Service After=network.target nss-lookup.target [Service] Type=simple User=nobody Restart=on-failure ExecStart=/opt/frp/frpc -c /opt/frp/client.ini [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now frpc ``` #### 测试连接外网环境中尝试使用新的端口(如上述例子中的6000)代替原有的22端口来进行SSH登录操作验证是否成功建立隧道[^1]。 ```bash ssh username@public_vps_ip -p 6000 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值