How do I configure a new Ubuntu installation to accept ssh connections?

I just installed Ubuntu. How do I set it up to allow me to ssh into it?

Right now I get "ssh: connect to host x.x.x.x port 22: Operation timed out".


Solution 1:

sudo apt update
sudo apt install ssh
sudo ufw allow 22      # if you have ufw running, but it doesn't hurt to run.

That's the very minimum. It allows unlimited failed password attempts on a known port. Direct root-login is disabled (you can still su and sudo once logged in). If your username and password are guessable and the Internet can see the server, somebody will eventually break in.

I can't stress this enough: You need to harden the default setup. You essentially trade convenience for the likelihood of being hacked but I've gone through several suggestions on my blog. At the very least, I'd suggest:

  • Key-based logins. Disable password logins.
  • Move it off port 22. Use something crazy-high, in the 20000-60000 range.
  • Use fail2ban to ban people who do find it and try to brute it.

It'll take you less than 10 minutes and they take youfrom a 1/10000 chance of being broken in-to a probability so small, there isn't enough paper in the world to write its fraction. All assuming you're careful with your key, it has a passphrase of its own and you don't trumpet your credentials all over the net.

In terms of accessing this SSH server from the Internet, you may be facing local networking obstacles. If the computer is behind a NAT router (eg most home networks) without direct incoming access from the internet, you may need to look at port forwarding. Obviously if you don't need access outside the network, skipping this step will aide network security.

Solution 2:

Installing the openssh-server package which is available from the Software Center will provide the server element to allow a client such as another ubuntu desktop to achieve a secure connection to a 'server' such as your VM.

The ubuntu community has an excellent guide about SSH, OpenSSH-Server and how to configure it in a secure manner.

Solution 3:

Configure SSH Services or Enable SSH Server services on Ubuntu server:

For install or configure SSH on Ubuntu first you need to install SSH packages on Ubuntu server so you next you able to take your virtual machine on your host system via Putty or other SSH login patch...

first you need to install SSH package on Ubuntu so run this command

#sudo apt-get install openssh-server

some time you guyzz got some errors while installing or add this package on your server like..

CDROM Error while install package SSH so for resolve this issue you can you my another shortcut available on Mounting CDROM Finally after mounting this CDROM on Ubuntu server you now easly install SSH service by below command

#sudo apt-get install openssh-server

This package install now and during installation ask for yes / no ans then hit YES...

Finally the SSH package install on Ubuntu sever then restart the SSH services by following command..

#sudo service ssh restart
---OR type---
#sudo service ssh start

Then BooM your SSH have install and start SuccessFully... now open Putty from your local host machine and type your VM IP there Putty Login And BOOM you able to login your VM server trough host machine Putty SSH...

Solution 4:

I just wanted to add that you need to make sure you have picked the correct WAN interface, if your modem/router support multiple WAN interfaces.

I have a Billion BiPAC 7800NXL which has 3 possible WAN ports (DSL, ETH and 3G). When you create a new forwards (called a "Virtual Server" in this router), the 7800NXL always defaults to the DSL WAN interface, even though I only use the Ethernet WAN interface.

I had all the ports set up correctly, but my forward was configured to use DSL, so it didn't work. As soon as I created a new forward for the ETH WAN interface, it worked.