Monday 29 April 2013

PuTTY Connection Manager-Tabbed PuTTY

PuTTY CONNECTION MANAGER (PuttyCM):

PuttyCM displays multiple PuTTY sessions in Tabs. In this article, let us review in detail about the 6 powerful features of the PuTTY Connection Manager that will make PuTTY more enjoyable.

Download PuttyCM: PuttyCM website seems to be down  for a while. No problem you can still download from our repository download puttycm.exe that I’ve been using.
PuttyCM is written in C#. You need .NET 2.0. When you install PuttyCM for the first time, you need to specify the location of the PuTTY executable.

Best Features:

Feature 1: Display Multiple PuTTY Sessions in Tab

This is the best feature for which i have  loved it most .You can open multiple putty sessions in one TAB, just like you open multiple text files in  "notepad++"   see below figure for more.

In order to make it run smoothly you need to set few settings as mentioned below. 
Go to Tools -> Options -> Select the check-box “Enable additional timing for PuTTY capture (ms)” -> set the value to   >=500 ms. This will open the PuTTY window inside the TAB as shown below.

Fig: PuTTY sessions in Tabs

Feature 2: Dockable Windows for PuTTY Sessions

Second best feature is apart from displaying multiple PuTTY sessions in Tabs, PuttyCM can also show different PuTTY sessions in panels.This will enables you to view multiple sessions at a time.

In the example below, to move the "DB Server" PuTTY session to the bottom panel, left-click on the 'DB Server' tab and hold the mouse until it displays the panel symbol (which will be like a Plus symbol) in the middle of the screen. Now move the mouse to the bottom of the plus, which will high-light the bottom portion of the screen indicating that the DB Server session will be moved to the bottom panel.

Fig: Select the Panel to dock a PuTTY session
Now, release the mouse, which will move the "DB Server"  to the bottom panel as shown below.



Fig: Selected PuTTY session docked in proper panel
Using the similar technique you can move all the PuTTY sessions to different panels as shown below.


Fig: Multiple PuTTY Sessions docked appropriately

Feature 3: Multi Command Sender (MCS)


This is yet another beautiful feature  but yet more dangerous as well in PuttyCM unless you use it with cautiously. You can run the same command on multiple servers with one shot.This will save a lot of time  specially for system administrators.

Make sure that you running correct command before hitting enter, otherwise it will become a big mess.

In-order to use this feature we need to open dockable windows as specified in feature 2. Then you need to select on which servers you want to run single command just like show in the below figure.


Fig: PuTTYCM Multi Command Sender server selection.

Then you need to run the command which like on the "Command Tab"  just like below and you will see its running in all the server windows you selected. Hurrey ..! that's amazing right.



Fig: PuTTYCM Multi Command Sender "running command on multiple servers"

Feature 4: Encrypted PuTTY Configuration Database

By default, PuTTY session informations are stored in the windows registry, which are not encrypted. If you want to keep the session information (ip-address, session name etc.,) encrypted, you can use the database encryption feature available in the PuttyCM
  • Download the AES encryption library (pcmcrypt.dll) from our repository.
  • Place this file in the PuttyCM program folder. C:\Program Files\PuTTY Connection Manager
  • Restart the PuttyCM
  • Go to Tools menu -> Options -> Database -> under the Encryption section, the available algorithms should display “AES Rinjdael Managed” as shown below, indicating that the encryption library is successfully installed.
Enable PuTTY Encryption
Fig: Enable Encryption
Click on File -> New -> Database and enter the appropriate information as shown below to create a secure PuTTY session database. Follow the best practices to create a strong password while choosing the pass phrase for the secure database.
  • Database Name: putty-secure-sessions
  • Click on Enable database encryption check-box
  • Select “AES Rinjdael Managed 256 bits
  • Enter a strong passphrase for the database.
  • Click on ‘Create database’ to create the database as shown below.
Create Encrypted PuTTY Database
Fig: Create Encrypted PuTTY session database
  • Click on File menu -> save database to save the database to a physical file.
  • Now the ‘putty-secure-sessions’ database will be displayed under the Connection manager as shown below

Fig: PuTTY Connection Manager displaying Encrypted Session database
  • Right mouse-click on the ‘putty-secure-sessions’ database name -> Click on New -> Click on Connection, to create a new secure PuTTY session.

Feature 5: Automatic PuTTY Session Login

Once you’ve created a secure PuTTY session as mentioned above, you can setup automatic login. i.e you can save the uid/pwd for the individual PuTTY session in the secure database. i.e When you double-click on a particular secure PuTTY session, it will login automatically.
From the putty-secure-sessions database, select a particular PuTTY session, right mouse-click and select Configuration, click on the ‘Enable Macro’ check-box as shown below.

Fig: Enable Login Macro For a PuTTY Session
From the same PuTTY session configuration window, click on the ‘Login Macro’ from the left-side menu and enter the uid/pwd as shown below.

Fig: Automatic Login Setup for a PuTTY Session
Now, when you double-click on that particular PuTTY session, it will do the login automatically using the credentials you’ve provided.

Feature 6: PuTTY Session Post-Login Commands

You can also setup post-login command, which will get executed automatically after you login.

The setup of post-login commands is done under the same ‘Login macro’ screen under the ‘Post-login command’ section. Click on ‘Enable post-login commands’ check-box and you can set a total of 5 post login commands as shown below.

Fig: Execute Commands automatically after login

Apart from the above 6 powerful features, PuTTY Connection Manager have the following features: 

  • Ability to select multiple themes
  • Import and Export PuTTY sessions
  • PuttyCM also comes as standalone executable that can be launched directly from an USB thumb drive
  • And finally, PuTTY Connection Manager is a freeware
For PuttyCM Alternatives you can check this article ...PuttyCM_Alternatives

FAQS: 

Some questions asked by blog readers regarding Putty Connection Manager.  (PuttyCM.exe)
1) When I minimize PuttyCM window it disappears. I can’t reactivate the window using ALT-TAB too. If I try to start the application again it says ‘Application already started’. How to fix this?
This can be fixed by changing PuttyCM settings. Go to the menu bar, click on Tools and then Options.
Select General from the options in the left side pane. Now in the right side you can see the check button ‘Hide when minimized’. In this case this would have been enabled. Un-selecting this button will solve the problem.

2) Above tip has solved my problem. I am having one more issue now. After I minimize Puttycm windows if I try to reactivate the window by clicking on the Puttycm icon in the taskbar, it does not activate the window sometimes.
This is another known problem. You just need to use ALT-TAB to restore the window. Sometimes it does not open immediately even after pressing ALT-TAB once. Try doing it again and it will work.
3) I created a database and created new connections. But I do not see the connections after reopening puttycm, what happened with the old database I created?
Looks like you did not save the database. After creating a new database and new connections, you might think that all the changes are saved but they are not. You have do explicitly save the database changes by clicking on File from the menu bar and then selecting Save Database.
4) How to encrypt the database file? Storing passwords in plain text could be a security issue?
There is no in-built feature to encrypt database looks like. There is a check button ‘Enable database encryption’ in Database-> Properties but it’s grayed out. May be the feature is not yet implemented.
But you can encrypt the database file using Windows EFS feature if you have a OS edition that supports the feature(XP home does not support EFS). Just right click on the file and Properties -> Advanced. Select the check button Enable encryption to secure data.
5) Where are PuttyCM’s registry keys stored ?
You can find Putty connection manager’s registry keys under the nodeHKEY_CURRENT_USER\Software\ACS\PuTTY Connection Manager
6) How to disable Ctrl-R binding? Ctrl-R is  a shortcut for searching command history in Linux. But doing  Ctrl-R in PuttyCM opens up tab rename window. How to fix this?
Open Tools -> Options -> Hotkeys. Change the shortcut for rename tab to something else. You would be able to search command history now. 
More known issues with PuttyCM:
  • Exporting Putty sessions fails with the error ‘Error during export Putty sessions’.
  • Disabling ‘Show tray icon’ has issue. After restarting PuttyCM it shows ‘unexpected error occurred’ message when you try to create a new connection. PuttyCM does not work and you will have to enable ‘show tray icon’ to use PuttyCM.
  • I have not found a way of changing the background color to something other than black. If any of you know solution to this please let me know.
For PuttyCM Alternatives you can check this article ...PuttyCM_Alternatives

33 comments:

  1. Could you please share the pcmcrypt.dll. PCM site is still down.

    ReplyDelete
  2. I have put the dll in our repository,you can download now with this link.

    http://rep.unixmantra.com/pcmcrypt.dll

    ReplyDelete
    Replies
    1. what is the function of this pcmcrypt.dll ?

      thank you

      Delete
    2. pcmcrypt.dll is used to encrypt the PuTTY sessions information which are stored in the windows registry.

      Delete
  3. The way to change background color is to change the color in the putty executable's configuration, which the manager uses.

    ReplyDelete
  4. Thanks for sharing ,this is the best link for PuttyCM

    ReplyDelete
  5. Hi, when I try to select an existing Putty Session to new Database by right-clicking it and selecting "Add to database" it does nothing. How do I import my Putty Sessions to PCM database? Please help.

    ReplyDelete
  6. Unfortunately thats not working , we have a work around for this .

    Open you ssh session in puttycm and on top menu view ->standard

    There you will see add to db button ,click this will add your ssh to existing db... make sure to save db later.

    ReplyDelete
  7. Hi, every app I've tried until know on Win 7 64bits, including this one opens a new untabbed console window. Any idea of a solution Thanks

    ReplyDelete
    Replies
    1. hi
      goto Tools>Options> General> "enable Allow Multiple Instances"

      Delete
  8. Using the Multi Command Sender, is there a way to send "CTRL + C" to all the tabs at once? Thanks.

    ReplyDelete
    Replies
    1. I wanto ask this question too.

      Delete
  9. Putty Tab is showing as IP address in my case . In above screenshot it is showing as the Name . How can i change that .

    Regards ,
    Rizwan

    ReplyDelete
    Replies
    1. Putty Configuration ==> Window ==> Behaviour ==> Window Title ( put your desired name)

      Delete
    2. Is this fix working for anyone? i still see the IP Address after doing this

      Delete
  10. Once multiple sessions are docked as shown above, is there a way to save that layout and be able to retrieve it?

    ReplyDelete
    Replies
    1. I think there is no such option in PCM

      Delete
  11. I am having a problem in Windows 7..

    When I open a PuTTy session, the putty window opens separately from PCM instead of opening a windows inside PCM.. It's like it works as a shortcut to a putty session instead of openning inside PCM..

    Why is that happening and how do i fix it?

    ReplyDelete
    Replies
    1. I remember having that problem when I used Win7, and I seem to recall solving it by running either PuttyCM and/or Putty in compatibility mode and tweaking the setting named "Enable additional timing for PuTTY capture" under Tools -> Options -> Plugins - PuTTY

      This was years ago, so I may well remember it wrong.

      Delete
    2. make sure both putty.exe and puttycm.exe are not running from network drives, place them both on C: drive and try again

      Delete
    3. none of that helped me with the same problem.

      Delete
    4. OMG, it helped, you need to click Apply after setting "Enable additional timing for PuTTY capture".
      Just clicking OK is not enough! You must click Apply, only then it works.

      Delete
  12. I can't seem to download the pcmcrypt.dll from the repository. The URL is unreachable.

    ReplyDelete
  13. I would like to create a hotkey to send my pwd. I tried to do it with a hotkey, but I can't create a new shortcut. The option is greyed out.

    ReplyDelete
  14. I am using key (ppk) to login to mu servers. How do i configure session to use key instead of password?

    ReplyDelete
  15. I need another great feature: To be able to search for an host because I manage about 2000+ hosts and It's not easy to have to scroll through a big list...

    Regards,

    ReplyDelete
  16. How can we import sessions from XML to PCM. It said, import completed but I don't see any sessions.

    ReplyDelete
  17. On win10 the Feature2 doesn't seem to work. The panel cross appears but the mouse pointer shows that moving the tab to any of the panels is banned. Is there a solution for this?
    Thanks.
    Regards.

    ReplyDelete
  18. On win10 the Feature2 doesn't seem to work. The panel cross symbol appears but the mouse pointer is a ban symbol not allowing to move the tab to any of the panels.Is there a solution for this problem?
    Thanks.
    Regards,

    ReplyDelete
  19. On win10, under PuttySessions tab none of the opened sessions are shown even if I set to each of them different host names and descriptions. Am I doing something wrong?
    Thank you.
    Regards,

    ReplyDelete