炸裂你的办公体验!轻松搞定家里公司电脑一键ssh互通!

1. 背景

由于家里、公司的电脑没有公网ip,导致无法通过公网ssh远程操作电脑。因此需要通过公网IP代理转接,利用autossh实现网络穿透,实现ssh远程操作主机。

2.中转主机网关端口配置

  • 修改 ssh 配置文件vim /etc/ssh/sshd_config
    找到GatewayPorts no 配置为 yes 或者只单独打开某些端口更安全

这样可以把监听的端口绑定到任意ip 0.0.0.0上,否则只有本机127.0.0.1可以访问。

如不配置也可以先ssh登录中转主机后使用 ssh 用户名@127.0.0.1 -p 端口

  • 重启ssh服务
shell 复制代码
systemctl restart sshd.service

3. 远程主机安装软件包

shell 复制代码
#centOS 安装 
yum -y install autossh 
# ubuntu 版安装 
apt-get install autossh -y 
# 查看软件包可执行脚本的位置 
which autossh

4. 远程主机设置免输密码登录中转主机

在需要远程的主机生成ssh秘钥并传输秘钥到中转主机上

shell 复制代码
# 生成ssh秘钥,提示内容按回车
ssh-keygen
# 需要确保.ssh/id_rsa 文件的权限是 600 
sudo chmod -R 600 .ssh/id_rsa 
# 上传密钥到中转主机上
ssh-copy-id 中转主机账号@IP地址 -p 端口

5. 远程主机上手动启动

终端执行:

shell 复制代码
/usr/lib/autossh/autossh -M 22223 -CqTnN -R 32156:localhost:22 中转主机账号@IP地址 -p 2243 
#   22223 服务器上通道的端口,不能被其他进程占用  
#   22222  ssh远程服务器端口  
#   localhost:22 中转主机ssh地址(一般不需要修改)及端口

如果提示还需要输入密码,就是上个步骤4上传密钥未成功或.ssh/id_rsa权限不对

6. 在远程主机设置开机自启动

或者使用 /etc/rc.local 开机自启动

sudo vim /etc/rc.local

添加一行以下内容

shell 复制代码
su 用户名 -c '/usr/lib/autossh/autossh -M 22223 -CqTfnN -R 32156:localhost:2243 中转主机账号@IP地址 -p 234 &'

如有错误或更好建议,请大家评论。

相关推荐
程序员鱼皮3 小时前
前特斯拉 AI 总监:AI 编程最大的谎言,是 “提效”
前端·后端·ai·程序员·开发
阿里嘎多学长5 小时前
2026-02-02 GitHub 热点项目精选
开发语言·程序员·github·代码托管
良许Linux1 天前
DSP的选型和应用
后端·stm32·单片机·程序员·嵌入式
淘源码d3 天前
【开源可商用】高并发智慧校园SaaS平台核心源码:Spring Boot 微服务 + 多终端协同
java·程序员·智慧校园·源码·二次开发·软件源码·电子班牌系统
程序员鱼皮4 天前
7个神级技巧,彻底去除网站的 AI 味儿!
计算机·ai·程序员·互联网·网站·编程经验
程序员鱼皮7 天前
Agent Skills 傻瓜式教程,26 年最火 AI 技术就这?
计算机·ai·程序员·agent·编程经验
黑客-雨9 天前
DeepSeek-V3.2深度拆解:开源模型逆袭,GPT-5迎来劲敌!
人工智能·程序员·大模型·知识图谱·agent·大模型教程·deepseek-v3.2
紫雾凌寒9 天前
【 HarmonyOS 高频题】2026 最新 ArkUI 开发与组件面试题
ui·华为·面试·程序员·职场发展·harmonyos·ark-ui
IT技术分享社区11 天前
GTID 结构升级 + JSON 视图强化,MySQL 9.6 创新版带来哪些性能提升?
数据库·程序员
小阿鑫11 天前
32岁程序员猝死背后,我的一些真实感受
前端·后端·程序员·代码人生