You can make a difference in the Apple Support Community!

When you sign up with your Apple Account, you can provide valuable feedback to other community members by upvoting helpful replies and User Tips.

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

PuTTY on Mac OS Catalina

Is it possible to get the PuTTY GUI on the Mac OS Catalina v10.15.7?


I have seen recommendations for CLI use, the Cyberduck Application, and the tutorial provided at the ssh website. (It seems I am not allowed to embed links into posts...) The CLI use is a bit too involved for my level of comfort, Cyberduck is an entirely different application, and the directory structure of the new Mac OS is not reflected in the tutorial provided at the ssh-website provided tutorial.


My desired end state is to have the PuTTY GUI accessible via a shortcut on my Mac Desktop. Any advice on how to proceed would be much appreciated.


Best,

Dayo


[Link Edited by Moderator]

Posted on Apr 16, 2021 6:13 AM

Reply
Question marked as Top-ranking reply

Posted on Apr 18, 2021 9:55 AM

The primary way is to customize one of the Terminal Profiles so it has all the terminal emulator features you desire. Then Duplicate the profile.


Terminal -> Preferences -> Profiles


Give the duplicated Profile a unique name (maybe something that sorts to the top of the list; numbers and underscores then to sort at the top of the list; it will be useful later 😀).



I named my example Profile "ssh lnx.sys.adr"


Select your new Profile, and in the 'Shell' tab, you can specify the "Run command". Put whatever ssh command and all the ssh options you desire. I just tossed in the -Y (create X11 tunnel) as an example, but if you want you can include -L tunnel options. -J jump hosts, -o options from "man ssh_config", etc...


Now when you want to start an ssh session, you can use Terminal -> Shell -> New Window Or New Tab and select your new Profile


I did Red-out personal information from my screenshot. Just select the ssh lnx.sys.adr Profile and, Terminal will create a new Window, and ssh to lnx.sys.adr


As I said, Profiles are my preferred way to bookmark ssh connections. But here are some other ways to have ssh bookmarks. Some a little weird 🙄


  • Terminal Command-Shift-K
  • Terminal -> Shell -> New Remote Connection
  • open ssh://username@lnx.sys.adr # can be in a script, or a shell alias
  • Open TextEdit. enter ssh://username@lnx.sys.adr . use cursor to select the text. Drag the selected text to the desktop. A mumble.inetloc file will be created. You can double-click this file to open a new Terminal window and ssh to the specified remote system.
  • Create a Safari bookmark ssh://username@lnx.sys.adr
  • Create $HOME/.ssh/config entries with all the ssh connection information and options associated with an alias (eg. fred) so all you need to type is ssh fred. Google can find tons of .ssh/config examples. Note: You can use .ssh/config entries in any of your above ssh bookmark methods. Especially for things like the .inetloc or Safari bookmarks to get additonal options specified for the connection. You would use ssh://fred and the .ssh/config would provide all the command line options.


I will also mention Terminal -> Preferences -> Window Groups (tab). You can setup your Terminal environment using all the profiles you created to create the Terminal windows and tab that you plan to use anytime you launch Terminal. Then using

Terminal -> Window (menu) -> Save Windows as Group...

You can either use the Terminal -> Window -> Open Window Group menu or when you are saving the Window group you can specify that Terminal should open those windows using the Profiles they were created with, including running your ssh commands. So you can quit Terminal, and the next time you launch Terminal it will open all your Terminal windows, and make all your ssh connections. NOTE: It will make the ssh connections as specified in the Profile used to create the window or tab. It will not restore ssh connections started from the command line.


iTerm2 has a similar Profile setup that you could use for bookmarking ssh connections. And they have "Window Arrangements" which are basically the same a "Window Groups" and behave the same way.

9 replies
Question marked as Top-ranking reply

Apr 18, 2021 9:55 AM in response to dinoDayo

The primary way is to customize one of the Terminal Profiles so it has all the terminal emulator features you desire. Then Duplicate the profile.


Terminal -> Preferences -> Profiles


Give the duplicated Profile a unique name (maybe something that sorts to the top of the list; numbers and underscores then to sort at the top of the list; it will be useful later 😀).



I named my example Profile "ssh lnx.sys.adr"


Select your new Profile, and in the 'Shell' tab, you can specify the "Run command". Put whatever ssh command and all the ssh options you desire. I just tossed in the -Y (create X11 tunnel) as an example, but if you want you can include -L tunnel options. -J jump hosts, -o options from "man ssh_config", etc...


Now when you want to start an ssh session, you can use Terminal -> Shell -> New Window Or New Tab and select your new Profile


I did Red-out personal information from my screenshot. Just select the ssh lnx.sys.adr Profile and, Terminal will create a new Window, and ssh to lnx.sys.adr


As I said, Profiles are my preferred way to bookmark ssh connections. But here are some other ways to have ssh bookmarks. Some a little weird 🙄


  • Terminal Command-Shift-K
  • Terminal -> Shell -> New Remote Connection
  • open ssh://username@lnx.sys.adr # can be in a script, or a shell alias
  • Open TextEdit. enter ssh://username@lnx.sys.adr . use cursor to select the text. Drag the selected text to the desktop. A mumble.inetloc file will be created. You can double-click this file to open a new Terminal window and ssh to the specified remote system.
  • Create a Safari bookmark ssh://username@lnx.sys.adr
  • Create $HOME/.ssh/config entries with all the ssh connection information and options associated with an alias (eg. fred) so all you need to type is ssh fred. Google can find tons of .ssh/config examples. Note: You can use .ssh/config entries in any of your above ssh bookmark methods. Especially for things like the .inetloc or Safari bookmarks to get additonal options specified for the connection. You would use ssh://fred and the .ssh/config would provide all the command line options.


I will also mention Terminal -> Preferences -> Window Groups (tab). You can setup your Terminal environment using all the profiles you created to create the Terminal windows and tab that you plan to use anytime you launch Terminal. Then using

Terminal -> Window (menu) -> Save Windows as Group...

You can either use the Terminal -> Window -> Open Window Group menu or when you are saving the Window group you can specify that Terminal should open those windows using the Profiles they were created with, including running your ssh commands. So you can quit Terminal, and the next time you launch Terminal it will open all your Terminal windows, and make all your ssh connections. NOTE: It will make the ssh connections as specified in the Profile used to create the window or tab. It will not restore ssh connections started from the command line.


iTerm2 has a similar Profile setup that you could use for bookmarking ssh connections. And they have "Window Arrangements" which are basically the same a "Window Groups" and behave the same way.

Apr 16, 2021 8:18 AM in response to dinoDayo

There are no precompiled PuTTY executables on the PuTTY download site for macOS Intel, or Apple Silicon. All that are available are strictly for Windows (Intel or arm). Although there is a UNIX tarball there for download, it is not compiled and it is out of scope for these communities to help you meet any source code dependencies, compilation, or debugging that may be involved.


If you have the command-line tools for Xcode installed, and a working homebrew package manager, then you can install and build a PuTTY client for macOS from brew install putty.

Apr 16, 2021 9:40 AM in response to VikingOSX

Got it, thank you for the response!


So if I understand you correctly, the PuTTY client in this case is not that classic GUI I am looking for but rather the suite of tools associated with it. If that is the case, then it is not currently feasible for the average developer to get the PuTTY GUI on the Mac OS Catalina v10.15.7.


No need to respond if this is correct, just want to clarify.

Thanks again!


Best,

Dayo


Apr 16, 2021 12:26 PM in response to dinoDayo

What is it about PuTTY that Applications -> Utilities -> Terminal (aka macOS Terminal) does not satisfy?


or iTerm2 <https://iterm2.com>, another excellent macOS terminal emulator.


I can give you about 7 or 8 ways to bookmark ssh connections if that is what you are missing. The primary way on macOS Terminal is to duplicate a profile, give it a unique name, and then fill in the "Run Command" with your ssh command.


If there is some other PuTTY feature you desire, I'm sure it can be obtained using macOS Terminal or iTerm2

Apr 18, 2021 10:01 AM in response to dinoDayo

ssh-keygen keys I mostly manage the same as on a Unix system. I create my ssh-keygen key, then use


ssh-copy-id -i ~/.ssh/id_rsa  user@1st.remote.host

ssh-copy-id -i ~/.ssh/id_rsa  user@2nd.remote.host

ssh-copy-id -i ~/.ssh/id_rsa  user@3rd.remote.host

etc...


to copy my keys to the remote system.



If you want to store your ssh-keygen passphrase in the macOS Keychain, you would use something like the following:


ssh-add -K ~/.ssh/id_rsa     # add your passphrase to your macOS Keychain


touch ~/.ssh/config

chmod 600 ~/.ssh/config


edit ~/.ssh/config and add the following:

Host *

    AddKeysToAgent yes

    UseKeychain yes

    IdentityFile ~/.ssh/id_rsa


You can remove your ssh-keygen key from your Keychain using:


ssh-add -K -d ~/.ssh/id_rsa     # remove your passphrase from your macOS Keychain

Apr 18, 2021 12:02 PM in response to BobHarris

I forgot that PuTTY manages the creation of the ssh-keygen key. On the Mac or any Unix system you would use the ssh-keygen command:


ssh-keygen -t rsa

  # Enter file in which to save the key (.../.ssh/id_rsa):<accept default; just hit enter>

  # Enter passphrase (empty for no passphrase): <any phrase you want - just make sure you remember it>

  # Enter same passphrase again:                <repeat the phrase>


NOTE: If you want password-less ssh-keygen keys, then for "Enter passphrase" and "Enter same passphrase again" you just press the return key, and the ssh-keygen key created will not ask for a passphrase. However, since macOS can store you passphrase in the macOS Keychain, it is painless to have a passphrase, assuming you basically just do interactive ssh connections from your interactive macOS login.



PuTTY on Mac OS Catalina

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.