Have just managed to get to grips with ssh! (openssh-server & openssh-client) Now from my point of view I’m planning to set up a Ubuntu Desktop (Linux Mint) with SSH so we can VNC/FTP to it over the internet safely.
SSH allows you to set up a safe tunnel between two computers then pump pretty much anything you wan though it, whether that be files or services such as VNC. To use SSH you need a SSH Server on the computer you would like to connect to (im my case the ubuntu) and a SSH client on the computer you wish to connect from; iPhone, iPad, Windows, Mac, Linux etc.
Next, how to install and use SSH.
Installing SSH Server
To install SSH Server on Ubuntu is very easy. Simply follow the one instruction the the amazing Ubuntu Help website. https://help.ubuntu.com/6.06/ubuntu/serverguide/C/openssh-server.html
All the important bits are below 😉
This section of the Ubuntu Server Guide introduces a powerful collection of tools for the remote control of networked computers and transfer of data between networked computers, called OpenSSH. You will also learn about some of the configuration settings possible with the OpenSSH server application and how to change them on your Ubuntu system.
OpenSSH is a freely available version of the Secure Shell (SSH) protocol family of tools for remotely controlling a computer or transferring files between computers. Traditional tools used to accomplish these functions, such as telnet or rcp, are insecure and transmit the user’s password in cleartext when used. OpenSSH provides a server daemon and client tools to facilitate secure, encrypted remote control and file transfer operations, effectively replacing the legacy tools.
The OpenSSH server component, sshd, listens continuously for client connections from any of the client tools. When a connection request occurs, sshd sets up the correct connection depending on the type of client tool connecting. For example, if the remote computer is connecting with the ssh client application, the OpenSSH server sets up a remote control session after authentication. If a remote user connects to an OpenSSH server with scp, the OpenSSH server daemon initiates a secure copy of files between the server and client after authentication. OpenSSH can use many authentication methods, including plain password, public key, and Kerberos tickets.
To install simply run, in the Ubuntu’s terminal.
sudo apt-get install openssh-server
Thats really all you need. You are all set up and ready. However the link above does explain how you can config your new SSH Server to do all kind of fancy things, the the basic set up will do me. 😉
To connect to your SSH Server (and see its terminal) simply type in (on your Mac or Ubuntu, for windows you need to use an external program like Putty [shitty windows]) in its terminal:
Where username is replaced with the name of the user on the server you would like to login as (John) and replace hostname with the servers network name (johns-computer) or its internal (if you have only set up SSH to work on your local network [see below]) or external IP address OR if your really fancy your computers web address (johns-uber-computer.com).
BTW: If you want to SSH to your sever from anywhere in the world and pump anything through that SSH (like VNC) just forward the port 22 on your router as that is the default port for SSH. Just to let you know if you are planning to VNC through a SSH tunnel (the safer option) you do not need to forward VNC port(s) as it is all squished through the SSH tunnel on port 22.
EDIT: I suggest you take a look at our new post SSH security.