How to Enable the New Native SSH Client on Windows 10 « Null Byte :: WonderHowTo

For years,PuTTyhas reigned supreme as the way to establish aSecure Shell (SSH)connection. However, those days are numbered with the addition of theOpenSSH serverand client in theWindows 10 Fall Creators Update, which brings Windows up to par with macOS and Linux's ability to use SSH natively.As a beta implementation ofOpenSSH, native SSH support on Windows suffers from bugs. To date, it has 207 issues reported on theGitHub page, so if you love everything pretty and polished, you may be better served by PuTTY until the bugs have been ironed out. On the other hand, if you are the sort of person that has longingly stared at people using macOS or Linux to seamlessly SSH into servers, then we're going to make your dreams come true.Because it's a beta feature, OpenSSH doesn't come preinstalled on standard Windows 10 distributions. Fortunately, the installation process takes only a few clicks, and in a few minutes, you'll have an SSH client ready to use.Don't Miss:How to Create a Native SSH Server on Your Windows 10 SystemTo follow this guide, you'll need a Windows 10 computer that has been fully updated. Before starting, make sure to check for and install any updates Windows may have or these steps may not work properly.Step 1: Enable Developer ModeFirst, we need to make sure that the Windows system is set to "Developer mode," otherwise it will be impossible to download this beta feature. Navigate to the search bar on the bottom left of your screen, then search for "developers settings." It should appear under "Best match" in the results, so click on it to open up the settings.Under theUse developer featuresheading, the "Windows Store apps" setting will be selected by default, but we want to select "Developer mode" instead. It should only take a few moments to install the 6 MB file and become a "Windows developer."Step 2: Install the OpenSSH ClientThere are two different methods you can use to install OpenSSH, either through the Windows GUI or throughPowerShell. For beginners, the first method may be easier to follow along with, but for advanced users, the second PowerShell method is probably faster.Method 1: Using the Settings GUIAgain, go to the search bar in the bottom left of the screen and search for "manage optional features," then select the option that pops up. Alternatively, you can go to it manually from Settings –> Apps & features –> Manage optional features. Once there, click on "Add a feature" at the top of the list of installed features.You will be presented with a list of features, most of these are specialty fonts. However, if you keep scrolling near the bottom, you should see "OpenSSH Client (Beta)." If you just want to be able to SSH into aRaspberry Pior other servers, then the client is all you need.From here you can also install "OpenSSH Server (Beta)," but remember that means you are opening your computer to SSH connections which could potentially be malicious. Also, installing the server takesextra steps to get working properly.Click on "OpenSSH Client (Beta)" to download and it will expand, then click "Install." Once done, it will disappear from the list and you can then navigate backward by clicking the back arrow in the top left.It will now appear on your list of optional features, but it may take a second or two as the system downloads the file.At this point, everything you need to SSH is downloaded. You just need to reboot the system to use the feature. Rebooting the computer is annoying and normally shouldn't be required, but it's important with this beta version. It will not finish the installation, and won't find thesshcommand when you use it in the command prompt if you don't reboot. To do so, click the Windows icon in the bottom left of the screen, then the power icon, and "Restart."If you ever decide to uninstall SSH, you can return to "Manage optional features," click on the feature to expand it, and select "Uninstall."Method 2: Using PowershellAlternatively, this entire install process can be done in PowerShell, which is faster if you are installing SSH on more than one computer. First, run PowerShell as the administrator by pressingWindows+Xand clicking on "Windows PowerShell (Admin)." Then check to ensure that the OpenSSH features are available for install by running the following command.Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'It should return something like below. "NotPresent" just means that it isn't downloaded.Assuming it's available, you can install the client feature with the following command. If it is not available, make sure your system is updated, and that developer mode is enabled.Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Note that the prompt may say a restart isn't needed, but it's my experience that a restart is in fact required. When the process is complete, you should see something like the screen below.Once you've run these commands and restart, you should be ready to go.Step 3: Start Using SSH NativelyCongratulations, everything is set up for Windows to run an SSH client. Now you only need to invoke thesshcommand. This command works in both PowerShell and Command Prompt, so you can use your favorite. To quickly open PowerShell, pressWindows+Xand then click on "Windows PowerShell" from the menu. Now, enter justsshto be presented with the current arguments it accepts.Thesshcommand works the same as the SSH command on other operating systems, so if you're already familiar with macOS or Linux, then you know how to use it as it's the same syntax. A more detailed explanation of each argument can befound online.For example, to connect to an SSH server at evilserver.com with the username "Hoid," I would run the following command.ssh hoid@evilserver.comBy default, OpenSSH attempts to establish an SSH connection on Port 22. Should you wish to use a different port, you need only to add-pand the port number at the end of your command. In the command below, we are attempting to connect to port 6666 on evilserver.com.ssh hoid@evilserver.com -p 6666As with any SSH client, you will receive a prompt to accept the host key the first time you connect. You will then be prompted to log in and enter the password for the user account on the remote server before you'll be able to run commands on the system. Once you're connected, you can safely disconnect from the SSH session by simply typingexit.Don't Miss:How to Use SSH Local Port Forwarding to Pivot into Restricted NetworksMany users may choose to continue using PuTTy for the time being, as it remains more stable, and most Window users are already familiar with the friendly GUI. As Windows continues to improve and implement OpenSSH as a full feature, I believe more and more people will come to use it due to its ease of use and convenience. The days of the third-party SSH clients dominating the Windows field are numbered.Thanks for reading! If you have any questions, you can ask me here or on Twitter@The_Hoid.Follow Null Byte onTwitterandGoogle+Follow WonderHowTo onFacebook,Twitter,Pinterest, andGoogle+Want to start making money as a white hat hacker?Jump-start your hacking career with our2020 Premium Ethical Hacking Certification Training Bundlefrom the newNull Byte Shopand get over 60 hours of training from cybersecurity professionals.Buy Now (90% off) >Other worthwhile deals to check out:97% off The Ultimate 2021 White Hat Hacker Certification Bundle99% off The 2021 All-in-One Data Scientist Mega Bundle98% off The 2021 Premium Learn To Code Certification Bundle62% off MindMaster Mind Mapping Software: Perpetual LicenseCover image and screenshots by Hoid/Null ByteRelatedHow To:Create a Native SSH Server on Your Windows 10 SystemHow To:Use the Chrome Browser Secure Shell App to SSH into Remote DevicesHacking Windows 10:How to Use SSH Tunnels to Forward Requests & Hack Remote RoutersSSH the World:Mac, Linux, Windows, iDevices and Android.How To:Run Your Favorite Graphical X Applications Over SSHRasberry Pi:Connecting on ComputerHack Like a Pro:Linux Basics for the Aspiring Hacker, Part 15 (Creating a Secure Tunnel to MySQL)SPLOIT:How to Make an SSH Brute-Forcer in PythonHacking Windows 10:How to Turn Compromised Windows PCs into Web ProxiesHow To:Change the SSH root password on the iPhone and iPodHow To:SSH into an iPod Touch 2G for Windows (3.0 firmware)How To:Configure a Reverse SSH Shell (Raspberry Pi Hacking Box)How To:Get Daily Weather Info Right from Your Windows 10 CalendarHow To:Set Up an SSH Server with Tor to Hide It from Shodan & HackersHacking Windows 10:How to Hack uTorrent Clients & Backdoor the Operating SystemHow To:Load Kali Linux on the Raspberry Pi 4 for the Ultimate Miniature Hacking StationHow To:SSH SMS tones into iPhone 3G 3.1.2How To:Miss the Charms Bar? Here's How to Access the Same Features on Windows 10How To:Haunt a Computer with SSHHow To:Build a Beginner Hacking Kit with the Raspberry Pi 3 Model B+How To:Discover & Attack Services on Web Apps or Networks with SpartaHow To:Spy on SSH Sessions with SSHPry2.0How To:Detect Misconfigurations in 'Anonymous' Dark Web Sites with OnionScanHow To:Hack Lets You Fully Activate a Bootleg Copy of Windows 8 Pro for FreeHow To:Discover & Attack Raspberry Pis Using Default Credentials with Rpi-hunterNews:Microsoft Introduced Acer's New Windows Mixed Reality Development Edition HeadsetNews:Atheer's Enterprise AR Platform Goes to Work on iPhones & iPads as Remote Support ToolHow To:Add Native Clipboard Support to Your Samsung Galaxy Note 3How To:Create a Free SSH Account on Shellmix to Use as a Webhost & MoreHow To:Create an SSH Tunnel Server and Client in LinuxHow To:Remotely Control Computers Over VNC Securely with SSHHow To:Safely Log In to Your SSH Account Without a PasswordHow To:Push and Pull Remote Files Securely Over SSH with PipesHow To:Mask Your IP Address and Remain Anonymous with OpenVPN for LinuxNews:What does Pro Tools HD Native mean for you?How To:Use All Your Instant Messenger Accounts At OnceMastering Security, Part 2:How to Create a Home VPN TunnelHow To:Create Your Own Native American Girl Halloween CostumeHow To:Code a Basic TCP/IP Client & Server Duo in PythonHow To:Stream Media to a PS3 or Xbox 360 from Mac & Linux Computers