Ubuntu SSH

A quick guide to setup a SSH-conncection to Virtual Machine Ubuntu Server 20.04

This article shall serve to prevent wasting hours looking for the pitfalls I encountered setting up Ubuntu Server 20.04 on my Virtual Box host (Ubuntu, Windows and Mac).

Install Ubuntu Server Image in Virtual Box

Download and install the .iso-file as described here. It's quite straightforward: https://hibbard.eu/install-ubuntu-virtual-box/ Install openSHH right away or install it afterwards with

1
2
3
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-server

Ubuntu Server

Ubuntu Server comes without a GUI and nice advanced terminal features like a clipboard. You could install tmux but a more elegant way is to use a shell from your host.

Port Forwarding

Now, on a normal server connected to the same network, you could just SSH in the server right away (if configured right). Running ‘ifconfig’ on your Ubuntu server will show a strange IP like ‘10.0.2.15’ which has to do with the way Virtual Box treats the virtual machine. If you try to SSH in your virtual machine you will get a misleading error

1
2
ssh dome@10.0.2.15
ssh: connect to host 10.0.2.15 port 22: Connection timed out 

In case it was really a connection timeout you could just open the ssh config file

1
vim /etc/ssh/sshd_config

and change the line

1
ClientAliveInterval 1200

but this is not the issue here!

As always stackoverflow gets straight to point even though detailed descriptions are missing. The solution is simple port forwarding. Just follow the steps:

  1. Turn off VM
  2. Go to settings -> network -> adapter1 -> advanced -> port forwarding
  3. Create an entry with Name: ForwardPort (could also be anything else), Protocol: TCP, Host-IP: 127.0.1.1, Host-Port: 2222 (could also be 22 or any other unbmer as long as not occupied already on host), Guest-IP: 10.0.2.15, Guest-Port: 22
  4. Confirm, start VM, log in. SSH server starts automatically.
  5. On host enter in terminal
1
ssh -p 2222 username@127.0.1.1

And there we go! I logged in as user dome on my host ubu. Ubuntu SSH

Transfering files

Use scp. If you want to transfer a file from guest to host use

1
scp -P 2222 dome@127.0.1.1:/home/dome/downloads/example.txt C:\Users\dome\Downloads

Windows SSH support

Since Windows 10 Windows comes with openSSH, so no more need for PuTTy. Anyway, if you login i.e. with Powershell you will note, that the copy paste behavior changes. Before CTRL+C and CTRL+V worked fine, but now you need to mark text and hit ENTER to copy and right click to paste (stackoverflow).

P.S. If you use VIM in Powershell, you will note, that the background color will likely mess up readability and result in a display like this (recognize the dark blue text?) Powershell VIM

If so, just change the background colors, with right click on the white window bar next to minimize, go to properties -> colors.