5

As I have been told, there Is no 'official' method to replace MS Server completely, but yet for each usage case, requires another set of software, I will rephrase this on what I want know.

I am looking for a way to install packages on my Ubuntu client from my Ubuntu Server!

To give you an image on what I want, is this, select my client and install the software I want to install on it, from my server!

Ninite Pro: The easiest way to manage software.


Additional Information:

  • Ubuntu Desktop (laptop)

    • Ubuntu Unity, Trusty Tahr, 14.04.3
  • Ubuntu Server (laptop)

    • Ubuntu Mate, Trusty Tahr, 14.04.3

Both are connected to the internet via WiFi.

blade19899
  • 26,704
  • 2
    Software is installed a different way in Ubuntu. You can install software any Ubuntu comp by logging there through ssh. It is installed from repositories. You can setup a local mirror, etc. – Pilot6 Sep 14 '15 at 10:41
  • Use configuration management tools like Landscape, Puppet, Chef, etc. – muru Sep 14 '15 at 10:42
  • I guess you're looking for a GUI program? Otherwise how about simply ssh? – kos Sep 14 '15 at 10:54
  • @Kos preferably a GUI, but, if ssh is my only option, then ssh I will use. – blade19899 Sep 14 '15 at 11:02
  • @kos preferably a GUI, but, if ssh is my only option, then ssh I will use – blade19899 Sep 14 '15 at 15:02

2 Answers2

5

Since as per your comment a CLI solution is ok, I'll post a CLI solution which you may use if you don't find a GUI equivalent;

Running ssh on the local host (in this case on the Ubuntu Server installation) you can get an ssh shell running on the remote host (in this case on the Ubuntu Desktop installation) which you can use to install the software via the command-line as you would on the local host (e.g. by compiling / installing or by running apt-get);

First, install the ssh server on the remote host:

sudo apt-get update && sudo apt-get install openssh-server

Then you can run an ssh shell on the remote host by running the ssh client on the local host:

ssh user@host

Where user is the user you want to login as on the remote host and where host is the remote host's name / IP address.

The first time you'll be prompted with a message like this one:

The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF.
Are you sure you want to continue connecting (yes/no)? 

Typing yes and hitting Enter you'll be prompted for your password:

user@localhost's password:

Typing your password and hitting Enter you'll be prompted with a message like this one:

Welcome to Ubuntu 15.04 (GNU/Linux 3.19.0-15-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

240 packages can be updated.
139 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

Typing exit and hitting Enter will end the ssh session:

user@user-X550CL ~ % exit
Connection to localhost closed.

While in an ssh session as a certain user you can execute any command the user can run on the remote host.

Installing software on the remote host from the local host using ssh + apt-get can be simplified e.g. by adding an user-defined function in your local host's ~/.bashrc (remember to run source ~/.bashrc afterwards):

function apt-get_install_remote_host {
    ssh -t user@host sudo apt-get install $@
    exit 0
}

And by calling the function:

apt-get_install_remote_host package1 package2 package3

Further Reading:

kos
  • 35,891
  • 1
    Also look into simultaneously SSHing to multiple systems, passwordless SSH to root (with a password-protected private key). – muru Sep 14 '15 at 16:25
  • I installed the openssh-server package on my client, but my server can't seem to connect to it? – blade19899 Sep 14 '15 at 18:46
  • 1
    Ensure port 22 is open on both systems and any required port forwarding is done. – Organic Marble Sep 14 '15 at 18:55
  • @blade19899 I see that you're connecting to the remote machine through a router: you should allow inbound connections on port 22 on the remote host in your router's configuration (as well as inbound connections on port 22 on the remote machine in the remote machine's firewall's configuration if you're using one) – kos Sep 14 '15 at 18:55
  • On my client I can see - in the gufw, listening report - sshd using protocol TCP6, Port 22, adres * On my server gufw doesn't show a ssh process? – blade19899 Sep 14 '15 at 19:04
  • @blade19899 If you didn't setup a firewall on your client setting up the router is enough, it should be pretty straightforward; here's an example on my router: http://i.imgur.com/9lry08m.png. Text is in italian, apologizes, however the first drop-down menu is to select the port, in this case TCP:22 and UDP:22 (you need to open both), the second drop-down menu is to select the action to perform (in this case "Allow always") and the IP address entered below is the local IP address for which the ports should be opened. – kos Sep 14 '15 at 19:08
  • @blade19899 No because on the server you don't need an ssh server to be running, you just need the client to be installed, in order to use it connect to the server running on the remote host – kos Sep 14 '15 at 19:09
1

An extension to @kos's answer. I found a GUI client for SHH, for Linux. Putty, a free telnet/ssh client. It resides in the Ubuntu Trusty Tahr repository:

I looks pretty straight forward, as seen here on this screenshot:

enter image description here

blade19899
  • 26,704
  • Putty has an advantage, if you don't want to learn ssh command syntax (which is pretty simple for the basic stuff and otherwise a look into the manual away) or how to store per-domain settings in the configuration file. Ultimately ssh and its configuration are more powerful. – David Foerster Oct 18 '15 at 08:51