手把手教你,设置IDEA实现SSH远程连接Linux服务器

前言

工作中,偶尔会遇到需要连接远程Linux环境进行开发。这篇文章就介绍一下如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接,实现远程开发。

IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发操作即可,旧版本IDEA目前不支持该功能,我这里验证用的是IDEA2023.2版本。

拓展

Cpolar内网穿透是一种安全的内网穿透云工具,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。它支持HTTP、HTTPS、TCP协议端口映射。

检查Linux服务

要实现本地连接远程的Linux服务,首先保证远程的服务是正常的,命令如下:

sudo systemctl status sshd


显示active(running)就是表示正常的。

本地IDEA连接测试

为了确保公网环境正常连接,首先进行本地连接测试,打开IDEA启动的主界面,点击SSH连接方式,点击New Project。


输入用户名和Linux 局域网IP地址,后面端口号默认22端口即可,然后点击右下角连接

这时候会弹出轻输入root用户对应的密码的提示,输入密码后点击authenticate

过一会会出现已经选择服务器中包的步骤,可以先在服务器中提前创建好文件夹,我这里是提前在/usr/local/javaProject创建了一个存放的文件夹,选中,然后点击右下角启动连接。

再次提示输入密码验证,输入后点击authenticate。

在这里可以看到,已经成功打开了服务器的开发环境,接下来可以使用Linux服务器环境进行开发了,本地连接测试完成,为了方便下面公网连接,这个本地连接可以先关闭,下面进行在Linux安装cpolar内网穿透工具.

Linux 安装Cpolar

在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.安装步骤如下:

cpolar官网地址: https://www.cpolar.com

步骤一

使用一键脚本安装命令

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

步骤二

向系统添加服务

sudo systemctl enable cpolar

步骤三

启动cpolar服务

sudo systemctl start cpolar

cpolar安装成功后,你在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用账号登录,登录后即可看到配置界面,接下来在web 管理界面配置即可

创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
隧道名称:可自定义,注意不要与已有的隧道名称重复

  • 协议:tcp
  • 本地地址:22 (本地ssh默认端口)
  • 域名类型:临时随机TCP端口
  • 地区:选择China

创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,接下来使用该地址在IDEA中使用进行远程连接

通过公网远程连接测试

跟之前类似,打开IDEA主界面,同样我们点击右上角New Project,新建一个连接

输入的是上面我们创建的cpolar公网地址和对应的公网端口,非局域网IP地址,然后点击右下角连接

连接成功后,选择OK即可

然后提示输入密码,输入后点击authenticate

同样,我们按照本地连接的方式,选择相关项目的文件夹,然后点击右下角启动和连接

弹出密码框的时候,继续输入密码,这样就成功远程到了我们服务器的环境,不管在任意地点,都可以通过cpolar的公网地址进行远程java开发,无需公网IP。

固定连接公网地址

以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的远程TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

温馨提醒

配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。

保留一个固定tcp地址,登录cpolar官网,点击左侧的预留,找到保留的tcp地址,为远程服务器连接保留一个固定tcp地址:

  • 地区:选择China vip top
  • 描述:即备注,可自定义
  • 点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

打开cpolar管理界面,点击左侧——仪表盘——隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑。

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定TCP端口
  • 预留的tcp地址:填写官网保留成功的地址,

点击更新

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了固定TCP地址。

固定地址连接测试

固定好了地址后,打开IDEA,点击SSH,新建一个连接New Project

输入我们设置的固定TCP地址和地址对应的端口,点击右下角连接,点击后会弹出一个提示框,点击OK即可

然后会提示输入密码,输入密码后,选择项目文件夹,点击右下角进行启动连接

然后再次会提示输入密码,输入完成后,我们可以看到成功连接了服务器的开发环境,固定地址测试连接成功。本例所有的配置就完成了,接下来就可以使用固定的公网IP进行远程连接服务器环境进行开发了!


这样就成功了,剩下的就欢快地开始吧。

写在最后

以上就是IDEA实现SSH远程连接Linux服务器的操作步骤,亲测可用。开发的老铁们可以收藏一下,亲测花了不少时间,分享不易,欢迎持续关注,觉得有点收获的,帮忙点赞 + 在看,感谢。后续更多干货正在路上,你的一个小小的赞是我持续输出的根本动力,下期再见!

更多实用干货,会第一时间发布在“安前码后”公众号,有需要的朋友可以点击下方名片页进行关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2808079.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络系列---常用梯度下降算法

文章目录 常用梯度下降算法随机梯度下降(Stochastic Gradient Descent,SGD):随机梯度下降数学公式:代码演示 批量梯度下降(Batch Gradient Descent)批量梯度下降数学公式:代码演示 小…

【监督学习之逻辑回归】

曾梦想执剑走天涯,我是程序猿【AK】 目录 简述概要知识图谱1.什么是逻辑回归?2.逻辑回归有哪些应用?3.回归分析如何工作?4.逻辑回归模型如何工作?5.逻辑回归分析有哪些类型?6.逻辑回归与其他机器学习技术相…

网络编程、UDP、TCP

计算机网络 就是将地理位置不同的具有独立功能的多台计算及外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件以及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 目的 传播交流信息、数据交换、通信 如何做…

算法分析-面试1-字符串

文章目录 前言一、分类:看看就行了二、字符串API:创建和初始化:查询操作:比较操作:修改操作:截取操作:分割操作:格式化操作:连接操作(Java 8 及以后&#xff…

给大家分享一款小程序:AI一秒修图

AI一秒修图 照片修复的AI助手特点:Demo(1.选择图片 2.涂抹遮罩 3.消除)Product Roadmap (版本演进)Contact-联系我们Reference 照片修复的AI助手 照片修复小小助手是一款快速P图微信小程序,用来消除图片中指定的人和物&#xff…

人工智能绘画的时代下到底是谁在主导,是人类的想象力,还是AI的创造力?

#ai作画 目录 一.AI绘画的概念 1. 数据集准备: 2. 模型训练: 3. 生成绘画: 二.AI绘画的应用领域 三.AI绘画的发展 四.AI绘画背后的技术剖析 1.AI绘画的底层原理 2.主流模型的发展趋势 2.1VAE — 伊始之门 2.2GAN 2.2.1GAN相较于…

软考43-上午题-【数据库】-关系代数转SQL语言

一、投影转SQL语言-select 示例: 二、选择转SQL语言-where 示例: 【注意】: 关系代数公式的写法,可以写属性名,也可以写列的序号,如: 但是,SQL语言不支持!!&a…

软件设计师软考题目解析05 --每日五题

想说的话:要准备软考了。0.0,其实我是不想考的,但是吧,由于本人已经学完所有知识了,只是被学校的课程给锁在那里了,不然早找工作去了。寻思着反正也无聊,就考个证玩玩。 本人github地址&#xf…

H5多用途的产品介绍展示单页HTML5静态网页模板

H5多用途的产品介绍展示单页HTML5静态网页模板 源码介绍:一款H5自适应多用途的产品介绍展示单页HTML静态网页模板,可用于团队官网、产品官网。 下载地址: https://www.changyouzuhao.cn/13534.html

作业 找单身狗2

方法一: 思路: 我们可以先创建一个新的数组,初始化为0,然后让原来的数组里面的元素作为新数组的下标 如果该下标对应的值为0,说明没有出现过该数,赋值为1作为标记,表示出现过1次 如果该下标…

掌握BeautifulSoup4:爬虫解析器的基础与实战【第91篇—BeautifulSoup4】

掌握BeautifulSoup4:爬虫解析器的基础与实战 网络上的信息浩如烟海,而爬虫技术正是帮助我们从中获取有用信息的重要工具。在爬虫过程中,解析HTML页面是一个关键步骤,而BeautifulSoup4正是一款功能强大的解析器,能够轻…

Java8 Stream API 详解:流式编程进行数据处理

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默&…

Go语言必知必会100问题-03 滥用init函数

滥用init函数 在Go语言中,滥用init函数会导致难以理解的代码流和槽糕的错误处理。本文将对init函数进行一个梳理,什么是init函数以及推荐的使用场景。 init函数 init函数是一个不带参数并且无返回结果的函数(func()函数)。初始…

[云原生] 二进制安装K8S(上)搭建单机matser、etcd集群和node节点

一、单机matser预部署设计 目前Kubernetes最新版本是v1.25,但大部分公司一般不会使用最新版本。 目前公司使用比较多的:老版本是v1.15,因为v1.16改变了很多API接口版本,国内目前使用比较多的是v1.18、v1.20。 组件部署&#xff…

【Linux】部署单机项目(自动化启动)

目录 一.jdk安装 二.tomcat安装 三.MySQL安装 四.部署项目 一.jdk安装 1.上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录,将安装包拖进去 2.解压安装包 防止后面单个系列解压操作,我这边就直接将所有的要用的全部给解压,如下图注…

Chiplet技术与汽车芯片(二)

目录 1.回顾 2.Chiplet的优势 2.1 提升芯片良率、降本增效 2.2 设计灵活,降低设计成本 2.3 标准实行,构建生态 3.Chiplet如何上车 1.回顾 上一篇,我们将来芯粒到底是什么东西,本篇我们来看芯粒技术的优势,以及它…

Django入门指南:从环境搭建到模型管理系统的完整教程

环境安装: ​ 由于我的C的Anaconda 是安装在C盘的,但是没内存了,所有我将环境转在e盘,下面的命令是创建环境到指定目录中. conda create --prefixE:\envs\dj42 python3.9进入环境中: conda activate E:\envs\dj42…

多线程相关(4)

线程安全-下 使用层面锁优化减少锁的时间:减少锁的粒度:锁粗化:使用读写锁:使用CAS: 系统层面锁优化自适应自旋锁锁消除锁升级偏向锁轻量级锁重量级锁 ThreadLocal原理ThreadLocal简介原理ThreadLocal内存泄漏 HashMap…

go interface{} 和string的转换问题

1.遇到的问题 问题来源于,我sql模版拼接遇到的问题。 首先,这样是没有问题的。 var qhx interface{} "qhx"s : qhx.(string)fmt.Println(s) 但是当我在这段代码里用:1.类型断言 var sqlStr "select * from tx_user where username %s" join…

代码随想录算法训练营第二十五天 | 216.组合总和III,17.电话号码的字母组合 [回溯篇]

代码随想录算法训练营第二十五天 LeetCode 216.组合总和III题目描述思路参考代码总结 LeetCode 17.电话号码的字母组合题目描述思路参考代码 LeetCode 216.组合总和III 题目链接:216.组合总和III 文章讲解:代码随想录#216.组合总和III 视频讲解&#xff…