WinSSHD: SSH and SCP capabilities for Windows OS
For all of those folks out there who love the secure shell (SSH) and secure copy (SCP) functionality in Unix, but are stuck using Windows, check out WinSSHD.
For those of you who may be unfamiliar, SSH is a secure way to remotely access another computer via the command line. Any traffic or commands sent via an SSH connection are encrypted, using an RSA key pair for encryption/decryption. This all may seem trivial, but being able to remotely access hosts is System Administration 101 – you can start and stop services (like webservers, FTP, etc), mount drives, configure your webserver… On a Unix machine, once you’re connected via SSH, you can do anything. So being able to connect to a computer via SSH is critical. SCP is nothing more than a simple file copy command, except that it is sent via the SSH protocol. That means whatever you’re sending is encrypted, unlike the FTP protocol. The best part is that most FTP clients (like Filezilla) can also handle SCP, so it’s just as easy for end users.
While WinSSHD obviously doesn’t provide all of the Unix binaries once you’re connected to your Windows host, it is still very convenient to be able to SSH/SCP to your Windows computers.
Quick Install and Configuration
1. Head over to Bitvise’s site, and go to the Downloads page. Click the second link to download WinSSHD (not Tunnelier, that’s an SSH client). Also, consider donating to their cause – it’s an awesome product and they give it away to personal users.
2. Run the installer. Install new WinSSHD site, either with the default name (WinSSHD) or you can give it an arbitrary name. Once installation is finished, the control panel should appear.
Default port for SSH is 22, but you can choose whatever port you want. I choose non-standard SSH ports for security. You can also have WinSSHD attempt to automatically configure your router to do the necessary port forwarding. I do my own port forwarding so I left it unchecked. If you plan to SSH/SCP to your machine from machines outside of your home network, you’ll want to choose “Open port(s) to any computer.” If you just want people/machines on your network to have access, choose “Open port(s) to local network (subnet scope).” Or, if you manage your Windows firewall, you can choose to make the changes there and select “Do not change Windows Firewall settings.”
Once you’re done, click Next.
4. Windows accounts. If you want to use the accounts you already use in Windows, just check the box that says “Allow login to any Windows account.” This is convenient because if you add/remove users to your Windows host, they will automatically be able to SSH to this host as well. If security is more of your concern, you may want to uncheck this box. If you just want certain Windows users to be able to SSH, you can add them individually.
In my configuration, I’ve elected to not use any Windows accounts.
Once you’re done, click Next.
5. Virtual accounts. “Lightweight accounts created and managed entirely by WinSSHD.” Using virtual accounts is awesome if you want to create and maintain several SSH users, but without creating a full Windows account for all of them (and all of the folders and garbage that go with it in Windows). Simply click the Add button in the bottom right, provide a username for the account and password, and choose what permissions the user will have. Make sure “Login allowed” is checked and set to true. Default values should serve most users purposes.
Once you’re done adding users, click “Save Changes.”
6. Voila – you should be done. Do a quick test by using an SSH client such as Putty or Tunnelier, punch in your IP address and whatever port you elected to use, and hit connect! Next test should be to confirm you can SSH to your machine from a DIFFERENT machine, and then confirm whether or not you can connect from a different network. When you connect, you’ll get a popup/warning about the hosts RSA key not being recognized, just hit Yes.
Supply your username (just the username – do not include domain or anything else) and password and you should be logged in!
If you want to use Filezilla or another FTP/SCP client to connect to WinSSHD, make sure you specify the correct port and that you want to use the SCP protocol, not the FTP protocol.
As always, I hope that this helpful, and feel free to comment or email if you have any questions.