Connect to a remote server from IntelliJ IDEA
Since working remotely became a necessity, IntelliJ IDEA offers the Remote Development functionality to help you code, run, debug, and deploy your projects remotely.
Prerequisites
Before you start developing on the remote machine, make sure you have the following:
Remote machine (a target for an IDE) meets the minimum recommended requirements that can be found in IDEs articles.
You have installed a compatible SSH server on the Linux platform.
The Linux platform has any recent Linux AMD64 distribution such as Ubuntu 16.04+, RHEL/Centos 7+, and so on. There is no arm64 support yet. We recommend using machines with 2+ cores, 4GB+ of RAM, and 5GB+ of disk space.
You need to have the sftp subsystem enabled on the remote host. In the current implementation, we use it for the backend deployment.
Connection via SSH
The connection to a remote sever is done via SSH and can be started right from the welcome screen of IntelliJ IDEA.
Connect to a remote server and open the remote project
Ensure you have the Remote Development Gateway plugin enabled.
On the IntelliJ IDEA welcome screen, select Remote Development.
In the Run the IDE Remotely section, click SSH Connection.
If you have the IDE already running on the remote server and you have a connection link, you can use the Connect to Remote Host With a Link section.
Configure the remote server connection parameters and click Check Connection and Continue to make sure the connection to the remote server is successful.
On the next page of the wizard, in the IDE version field, select the source of the remote IDE that you want to use.
Use one of the following ways to get an IDE installer:
Automatically fetch from JetBrains installers storage -default variant.
Your remote server must have a network connection to JetBrains URLs:
https://code-with-me.jetbrains.com https://download.jetbrains.com https://download-cf.jetbrains.com https://cache-redirector.jetbrains.comFetch from your company's internal storage. In this case, you need to click Other options and select Use download link. It is helpful if remote machines don't have an Internet connection to JetBrains' websites or your organization uses some custom builds.
Upload from your local machine. In this case, click Other options and select Upload installer file. You need to get the IDE
.tar.gz
archive from the JetBrains website by yourself in advance.
Click Download and Start IDE.
IntelliJ IDEA starts JetBrains Gateway, which downloads the IDE backend, launches, and opens JetBrains Client with your remote project.
For the information on how to start working with a separate JetBrains Gateway installer, refer to JetBrains Gateway.
For the information on how to add plugins or SDK, refer to the appropriate Getting Started section.
Connect through Space
You can perform a custom orchestration on your remote server and use, for example, a Docker file, or any other automation that fits with your practices. This could be creating a new virtual image every night, taking the empty environment, and checking out the latest source code, with a fresh clean image ready to use in the morning.
However, if you work in Space, the integration with IntelliJ IDEA lets you automate all processes in configuring your dev environment that you can use for software development.
Space automates for you the following processes:
Creating a remote virtual machine
Starting a Docker image with appropriate libraries and tools
Downloading and warming up the backend IDE so you can easily open your project and dive into coding right away.
Connect via Space
Launch IntelliJ IDEA.
On the starting page, select JetBrains Space and click Connect to Space.
Enter your organization URL and click Continue in Browser.
In the browser window that opens, click Accept to grant the required permissions. If you are not yet logged in to the Space web app, you will also be prompted to enter your Space username and password. You will be then redirected back to your IntelliJ IDEA.
Click New Environment and configure a new dev environment (skip this step if your project already has the needed dev environment):
Select a repository and a branch where you want to create a dev environment.
In the Devfile list, select a devfile (if it exists in your Space project).
In the IDE list, select an IDE to be used in the dev environment.
In the Instance type list, select a type of the virtual machine based on the resources you need and computation credits.
In the Environment name field, enter a name for the environment to distinguish it from other environments.
Click Create Environment to complete the environment creation.
In the list of dev environments, select an environments to which you want to connect.
This will initiate a connection to the remote IDE. Once the connection is successfully established, IntelliJ IDEA will open JetBrains Client with your Space project where you can work further.