Using the PhpStorm built-in SSH terminal and remote SSH external tools

We can already do a lot from within our IDE: develop our application, connect to database systems, work with source control, debug HTTP traffic and much, much more.

With the PhpStorm 7 EAP, we are introducing even more integrations. How about… a built-in SSH client?

This feature is also available in PyCharm.

From the Tools | Start SSH session… menu, we can connect to any SSH server, whether your local machine or a remote host. All we have to do is provide connection information such as username and password or keypair and we’re good to go!

Have a look at our tutorials page for some examples and on how to work with the SSH client and how remote SSH external tools can help your development process.

As always, let us hear your thoughts in the issue tracker, through the comments below or in our forums!

Develop with pleasure!
– JetBrains PhpStorm Team

This entry was posted in Cool Feature, Early Access Program and tagged , , , , . Bookmark the permalink.

50 Responses to Using the PhpStorm built-in SSH terminal and remote SSH external tools

  1. jp says:

    Hey, this is great. But please make background black by default, not only in dark theme… This is what most users are used to, I think.

  2. Paul Redmond says:

    Anyone else seeing a giant flashing cursor? Using a MBP Retina.

  3. B3at says:

    Great tool, only 2 problems so far
    I must type all the ssh details at every run , and I cant find what font is used inside the ssh termunal because is too thin/antialiased and some letters cant be deciphered.

    • Špringer says:

      Problem 1:
      Add new server to deployment in settings. Server type select SFTP and set the connection setting. In remote ssh External Tools -> connection settings can now select your server.

      I have one question too. I use this to run bash script and there are bash color markers. Will be supported in the future?

  4. Kieran Simpson says:

    Are there plans on having the functionality in IntelliJ?

  5. Philipp Gampe says:

    Please support the default SSH agent instead of using your own way to store the credentials.
    I really hate the fact that I cannot use my SSH key, but need to use the insecure password approach.

    • Maarten Balliauw says:

      The SSH client does support working with SSH keys.

      • Alex says:

        May I elaborate on what I think Gampe’s point may have been?

        Yes, the SSH client allows us to use a private key for authentication. But if we are protecting that key with a passphrase (as we should be), we are faced with a choice: do we allow PhpStorm to remember the password for us, or enter it ourselves every time we need to use it?

        Hitting the “Save passphrase” checkbox is insecure, since then the password is saved unencrypted on disk. This is easy to prove: tell PhpStorm to remember the passphrase for a key you don’t care about, then close it. When you reopen the IDE, it will happily load the key back up without asking for a decryption key. If we were okay with putting everything needed to log in to our server unencrypted on disk, why did we set a passphrase on that key in the first place?

        Even if we don’t check that box, how is PhpStorm’s secret management? Will it allow the password to be written to swap, et cetera? We don’t know. We can’t check, not without going full-blown red team.

        Truly secure authentication is an enormously difficult problem, which is why there are tools like ssh-agent whose entire raison d’être is to do it right. When other tools ignore those existing solutions in favor of their own home-grown implementations, they inevitably push their users to be less secure.

        We, as an industry, should strive to do better than that.

        • Shawn Duncan says:

          Alex is right on on this – I’m asked for a passphrase when I store credentials in the git implementation in phpStorm.

          What’s up?

        • Dan Langille says:

          It seems that using ssh-agent is the right thing to do. Does JetBrains have an official response to this? I’d like to know before I download.

        • Brian Donovan says:

          This does not really prove that your passphrase is stored unencrypted on disk. It proves that PhpStorm is able to read the data from wherever it stored it without asking you for a decryption key, but that is not the same thing.

          On OS X I’m guessing it uses the Keychain, which will allow an application that stored a credential to retrieve that credential, but no other applications (without explicit authorization from the user). I’m not sure about Windows, but I’m guessing there is a similar mechanism.

  6. Artem Kozhjemyakin says:

    I got the following error when trying to connect using new SSH feature: UnsatisfiedLinkError: Unable to load library ‘libwinpty’

  7. Anatooly says:

    Hi. And where I need install for correct work on Windows 7 Pro?

    Unable to load library ‘libwinpty’: No found module.
    : Unable to load library ‘libwinpty’: No found module.

  8. Stephane says:

    I’m having great trouble right now with the fact that SFTP appears to already use a custom ssh implementation. It’s not using the ssh tunnel I have set up, so I can’t use PHPStorm for a project when I’m away from the ip address registered in the company’s firewall. I can use TextWrangler and every other ssh-using service.

    Is there a way around this? Will this new version solve this in any way?

    • leneshka says:

      PhpStorm does not create ssh tunnels, and does not use settings other than provided in File | Settings | Deployment and File | Settings | Deployment | Options.
      But of you create ssh tunnel by some other means (I tested Putty), it successfully uses it.

    • Ian Ferguson says:

      I cannot bump the feature request enough. It’s so frustrating that I cannot connect to a host alias (defined in ~/.ssh/config). Every single application I have apart from PHPStorm is able to interpret and connect properly when tunnels are involved.

  9. Artur says:

    Unable to load library ‘libwinpty’: No found module.
    : Unable to load library ‘libwinpty’: No found module.
    Bug isn’t fixed. Win 7 Max.

  10. Pingback: Built-in Local Terminal in PhpStorm 7 | JetBrains PhpStorm Blog

  11. Name says:

    No ssh tunnel -> no PHP Storm. Sorry.

  12. Peter says:

    Just tried the ssh tool in PHPStorm 7 – nice addition. Two things I have noticed so far:

    1. Closing the session closes PHPStorm – that is not right.
    2. Is there a way to save connection settings so that I can pick from a list instead of entering them everytime?

    Otherwise great work.

  13. Maarten Balliauw says:

    Closing session shouldn’t close PhpStorm. Can you reproduce this (and if so, report through ?)

    Connection settings can be stored: through Project Settings | Deployment, add a server which uses SFTP and configure from there. The build-in SSH client will show the configured host in a list.

  14. Anon says:

    Can the terminal be made to appear like a normal tab? (seen this in other ides)

  15. Anatoly says:

    How forward keys for git?
    I use keys for authorization ssh, but how forward git key for correct work? Now I use Pageant of Putty for this.

  16. daslicht says:

    It would be lovely if we could browse files on a remote server and edit them locally as it is possible with coda2

    How about saving user / login for SSH connections?

  17. Nariman says:


    It looks like I cannot connect to SFTP via proxy. it is really annoying. (for example Netbeans can do it…)

  18. Bohdan says:

    The main feature that is missing to replace putty is tunnelling. Devs usually use it.

  19. Koby says:

    Even before SSH tunneling (which is uber-important all by itself), what about actually managing different credentials?

    Right now everytime I click on “Tools > Start SSH Sesssion…” it just says “Select host to connect” and the only option is “Edit credentials…” which forces me to input my credentials from scratch.

    This lack of basic credentials management renders this tool useless. At least for me.

Leave a Reply

Your email address will not be published. Required fields are marked *