05-10-2021

What is X11 Forwarding?

X11 Forwarding is what gives you the ability to run GUIs from a server on your own local machine (neat, huh?). For example, you can run Emacs from homework.eecs.tufts.edu from the comfort of your dorm.

How do I use X11?

Simple! All operating systems have a quick process to setup X11 Forwarding. Please see below for specific instructions based on operating system.

PuTTY for Mac OS X PuTTY for Mac is a port of the Windows version of PuTTY. However, there are many options for SSH clients for Mac, and this page discusses several of them. Jul 05, 2018 Trusted Windows (PC) download Xming portable PuTTY 7.7.0.18. If you have a PuTTY.ppk format private key and want to use it with the built-in OpenSSH on Mac on the command line or in scripts, you can use the following commands. First, install PuTTY for Mac using brew install putty or port install putty (see below). This will also install the command-line version of puttygen, the PuTTY key generator tool.

Putty

X11 Forwarding in Linux/Mac OS X

– For Macs, your best option is to download xQuartz from xQuartz.org. This is free software which will allow you to forward X11 on a Mac.

  • Download the xQuartz DMG, open it, and follow the installation instructions.
  • Run xQuartz from the Applications folder.

– For Linux, depending on your distribution, there may be no pre-requisites.

Connecting With X11 through SSH
  • Connect to your favorite EECS server using ssh, but remember to tell it to forward X by adding the “-X” parameter.
    • Example: ssh –X [username]@homework.eecs.tufts.edu
  • To test to make sure X11 is working properly, run “xeyes” and a simple GUI should appear on the screen.
  • That’s it! Any other application (Emacs, Matlab, etc) that you’d like to run the GUI for, simply start the program and a window will appear.
Download

X11 Forwarding in Windows with MobaXterm

  1. We recommend using MobaXterm for all your Windows X11 Forwarding needs.
  2. Simply download the installer, or run the portable edition, onto your computer.
  3. Follow all setup defaults for the installation.
  4. Run MobaXterm and use the Start local terminal button to begin a session.
  5. SSH to an EECS server as you normally would, but be sure to specify the -Y option. For Example:
    • ssh -Y [username]@[servername].eecs.tufts.edu
  6. You’re now good to run GUI-based applications over ssh!

X11 Forwarding in Windows with PUTTY/Xming

  1. Xming is a lightweight and reliable X11 forwarding utility that can be used in conjuncture with Putty.
  2. Launch Xming: A small program will appear in the taskbar; keep this running for the duration of the session.
  3. Launch PuTTy, an SSH (Secure SHell) client: Start->Programs->PuTTy->PuTTy.
  4. In the left-hand menu, expand “SSH”, open the “X11” menu, and check “Enable X11 Forwarding.” Do not forget this step!
  5. Go back to the “Session” menu, and under “Host Name” type yourusername@linux.cs.tufts.edu, then press Open.
  6. If a security alert pops up, press yes, then type your password into the open shell.
  7. You’re in Linux! Everything, such as “emacs myfile &”, will work just like a Linux lab machine.
    If you want to ssh to another server during your session but want to keep X11 forwarding enabled, you must use the command “ssh -Y servername”.

X11 Forwarding in Windows with Cygwin/X

There are some cases in which Putty simply does not have enough functionality, and a more robust SSH/X11 client is necessary. In these cases, Windows users are best off using Cygwin. While Cygwin is extremely powerful and versatile, it can be a little overwhelming or confusing to setup and use your first time. The steps below will walk you through installing and running X11 Forwarding with Cygwin.

  1. Go to www.cygwin.com and download the latest version.
  2. Run the setup.exe that you downloaded.
  3. Select “Install From Internet” as your download source.
  4. Leave the ‘Root Directory’ as default.
  5. Choose where you want your package files installed.
  6. Leave “Use System Proxy Settings” selected.
  7. Select any Download site, though the top one will be fine.
  8. Leave the default packages selected and change the View to Full.
  9. Use the Search box to search for openssh.
  10. Left-Click openssh: The OpenSSH server and client programs to set it to install the latest version. You can see that the New column has changed from Skip to the current version.
  11. Use the search box once again to search for xinit.
  12. Left-Click xinit: X Org X server launcher so that it switches from Skip to the current version.
  13. Press next to Continue and review.
  14. Note towards the bottom all the xorg packages which will also be installed. These are all necessary.
  15. Press Next to install everything (this may take a few minutes).
  16. Once installed, Open Cygwin to be presented with a terminal window.
  17. Run startx to open a new X11-enabled terminal window.
  18. In the new window, connect to the computer you would like to by using ssh -Y [username]@[hostname] – The “-Y” is required.
  19. Once connected, you’ll be able to run any X-based gui applications in your Cygwin window.

SSH is a multi-purpose protocol for secure system administration and file transfers. It is included in every Linux and Unix system. PuTTY is the most popular SSH Connection Client, however, it is a very basic SSH Client.

Mac

😭 😍 😂 10 XAMPP Alternatives – Install WordPress On Windows And macOS Laptop

If you are searching for SSH with more features, here are some of the best and free SSH Clients for both Apple macOS and Microsoft Windows. Download away!

↓ 01 – Solar-PuTTY | Windows

Putty Ssh

Manage remote sessions in a professional way. Connect to any server or device in your network with Solar-PuTTY for Windows.

  • Manage multiple sessions from one console with a tabbed interface
  • Save credentials or private keys to any session for easy login
  • Automate all scripts you’re using when connection is established
  • Find your saved session easily thanks to Windows Search integration

↓ 02 – OpenSSH | Windows | macOS | Linux

Putty Download

OpenSSH is a free version of the SSH connectivity tools that technical users rely on. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other attacks. Additionally, OpenSSH provides secure tunneling capabilities and several authentication methods, and supports all SSH protocol versions. The OpenSSH suite consists of the following tools:

  • Remote operations are done using ssh, scp, and sftp.
  • Key management with ssh-add, ssh-keysign, ssh-keyscan, and ssh-keygen.
  • The service side consists of sshd, sftp-server, and ssh-agent.
  • Strong cryptography (AES, ChaCha20, RSA, ECDSA, Ed25519…) – Encryption is started before authentication, and no passwords or other information is transmitted in the clear. Encryption is also used to protect against spoofed packets. A number of different ciphers and key types are available, and legacy options are usually phased out in a reasonable amount of time.
  • Strong authentication (public keys, one-time passwords) – Strong authentication protects against several security problems: IP spoofing, fakes routes and DNS spoofing. Some authentication methods include public key authentication, one-time passwords with s/key and authentication using Kerberos (only in -portable).

↓ 03 – MobaXterm Home Edition | Windows

Enhanced terminal for Windows with X11 server, tabbed SSH client, network tools and much more. MobaXterm is your ultimate toolbox for remote computing. In a single Windows application, it provides loads of functions that are tailored for programmers, webmasters, IT administrators and pretty much all users who need to handle their remote jobs in a more simple fashion.

  • Full X server and SSH support
  • Remote desktop (RDP, VNC, Xdmcp)
  • Remote terminal (SSH, telnet, rlogin, Mosh)
  • X11-Forwarding
  • Automatic SFTP browser
Putty Mac Download

↓ 04 – KiTTY | Windows

KiTTY is an open source terminal emulator, forked from Small PuTTY iconPuTTY , that adds many extra features to the original software. Some of these extra features are automatic password, automatic command, running a locally saved script on a remote session, ZModem integration and more.

↓ 05 – mRemoteNG | Windows

mRemoteNG is a fork of mRemote: an open source, tabbed, multi-protocol, remote connections manager. mRemoteNG adds bug fixes and new features to mRemote. It allows you to view all of your remote connections in a simple yet powerful tabbed interface. mRemoteNG supports the following protocols:

  • RDP (Remote Desktop/Terminal Server)
  • VNC (Virtual Network Computing)
  • ICA (Citrix Independent Computing Architecture)
  • SSH (Secure Shell)
  • Telnet (TELecommunication NETwork)
  • HTTP/HTTPS (Hypertext Transfer Protocol)
  • rlogin
  • Raw Socket Connections

↓ 06 – Hyper | Windows | macOS | Linux

Hyper is a beautiful and extensible, cross-platform terminal built on open web standards. It provides an elegant command-line experience that is consistent across all supported platforms which includes macOS, Windows and various Linux distributions like Fedora and Debian.

The goal of the project is to create a beautiful and extensible experience for command-line interface users, built on open web standards. In the beginning, our focus will be primarily around speed, stability and the development of the correct API for extension authors.

↓ 07 – Bitvise SSH Client | Windows

SSH client supports all desktop and server versions of Windows, 32-bit and 64-bit, from Windows XP SP3 and Windows Server 2003, up to the most recent – Windows 10 and Windows Server 2016. As for encryption, it provides state-of-the-art encryption and security measures suitable as part of a standards-compliant solution meeting the requirements of PCI, HIPAA, or FIPS 140-2 validation.

  • one of the most advanced graphical SFTP clients
  • State-of-the-art terminal emulation with support for the bvterm, xterm, and vt100 protocols
  • Support for corporation-wide single sign-on using SSPI (GSSAPI) Kerberos 5 and NTLM user authentication, as well as Kerberos 5 host authentication
  • Support for RSA and DSA public key authentication with comprehensive user keypair management
  • Powerful SSH port forwarding capabilities, including dynamic forwarding through integrated SOCKS and HTTP CONNECT proxy
  • Powerful command-line parameters which make the SSH client highly customizable and suitable for use in specific situations and controlled environments
  • An advanced, scriptable command-line SFTP client (sftpc)

↓ 08 – Termius Basic | Windows | macOS | Linux

Termius is more than a mere SSH client – it’s a complete command-line solution that’s redefining remote access for sysadmins and network engineers. Securely access Linux or IoT devices and quickly fix issues from the comfort of your couch via laptop or phone.

Recommended for you: