SSH
RubyMine allows you to work with remote machines using SSH. You can create predefined SSH configurations and use them to run remote SSH sessions, configure a remote Ruby interpreter, or connect to databases.
Set up SSH
Before working with remote machines using SSH, make sure that SSH access is enabled on a remote server. You can use several authentication methods, for example:
Use a remote host's username and password for authentication.
Generate the SSH public/private key pair on your local machine and add the public key to the remote host.
If the SSH public/private key pair exists on your local machine and the public key is uploaded to the remote host, you can add the private key to the ssh-agent.
Add an SSH configuration
You can create the predefined SSH configurations and reuse them within a specific project or across all your projects. To create a new SSH configuration, follow the steps below:
Open the Settings/Preferences dialog Ctrl+Alt+S and go to the page.
Click the button to add a new configuration.
If you do not want to share the configuration between projects, make sure that the Visible only for this project option is enabled.
Specify the required parameters depending on the Authentication type.
Host/Port: The hostname/IP address and port used to connect to a remote machine.
User name: The username used to authenticate on a remote machine.
Authentication type: In this field, select the Password value to authenticate a user with a password.
Password: Specify a password used to access a remote machine.
Host/Port: The hostname/IP address and port used to connect to a remote machine.
User name: The username used to authenticate on a remote machine.
Authentication type: In this field, select Key pair.
Private key file: Specify a path to a private key file stored on a local machine.
Passphrase (optional): Specify a passphrase used for the specified private key.
Host/Port: The hostname/IP address and port used to connect to a remote machine.
User name: The username used to authenticate on a remote machine.
Authentication type: In this field, select OpenSSH config and authentication agent to use ssh-agent running on a local machine.
Click OK.
Start an SSH session
To start an SSH session on a remote host, follow the steps below:
Start an SSH session
From the main menu, choose
.If you already have existing SSH configurations or running Vagrant instances, select the desired one in the invoked popup.
You can also choose Edit credentials to specify credentials manually.
(Optional) If you selected Edit credentials, specify the required parameters depending on the Authentication type, as described in Add an SSH configuration.
A new SSH session is opened in a separate tab.
To close the SSH session, click on the terminal toolbar or right-click the current session tab and select Close Tab from the context menu.
Configure SSH terminal setting
You can configure the following SSH terminal settings on the Settings/Preferences dialog Ctrl+Alt+S:
page of theConnection settings
Choose one of the following:
Current Vagrant: Select this option to connect to the running Vagrant instance.
SSH configuration: Select the existing SSH configuration to connect it to every time, or choose Select SSH configuration on every run to invoke the popup with available servers when executing .
Default encoding
Select the desired encoding to be used in the SSH terminal.
Configure a remote interpreter using SSH
RubyMine allows you to configure a remote Ruby interpreter by using SSH access and work with applications deployed on a remote server. This can be useful to run or debug a remote application, perform tests, and so on. Make sure that the following prerequisites are met for a remote server before configuring a remote interpreter:
SSH access is enabled.
The Ruby interpreter is installed.
Remote project sources are synchronized with local ones (for example, by using Capistrano or a remote server configuration ).
You can now follow the steps below to configure a remote interpreter using SSH:
Open the Settings/Preferences dialog Ctrl+Alt+S, go to the Language & Frameworks | Ruby SDK and Gems page.
Click the and select New remote… in the drop-down:
In the invoked dialog, select SSH and specify the following settings:
SSH configuration: Select the existing SSH configuration or click the ellipsis button and create a new one.
Ruby or version manager path: Here you should specify the path to the Ruby interpreter or the version manager executable.
After you have specified all the settings, click OK.
(Optional) If you specified a path to the version manager executable in the previous dialog, RubyMine suggests selecting the Ruby interpreter used to run a remote application.
Select the added SDK in the Ruby SDK and Gems page.
Specify mappings between files of a local and remote project. To do this, click the Edit Path Mappings button. In the Edit Project Path Mappings dialog, specify the local and remote project root paths.