Jump host

The pulsar server setup described in this website, instructs you to assign a public IP to your Pulsar server and expose then its ssh port through a public network, but if you are in the lucky situation to have available a Jump host, you can avoid using the public IP.

A Jump host leverage a Secure Shell (SSH) technique that allows you to reach the Pulsar server from your notebook through a gateway. These kinds of hosts are placed at the boundary between the internal and the external and act as a single point of entry, providing the transparent management of devices within the internal network.

Terraform steps

There are 4 files that need to be modified to have Terraform creating a Pulsar setup without a public IP, and they are:

  • main.tf

  • exec_nodes.tf

  • gpu_nodes.tf

  • output.tf

In particular, in the main.tf remove the first network:

network {
    uuid = "${data.openstack_networking_network_v2.external.id}"
}

in the exec_nodes.tf and gpu_nodes.tf change the network id from 1 to 0 in the CONDOR_HOST variable

CONDOR_HOST = ${openstack_compute_instance_v2.central-manager.network.0.fixed_ip_v4}

and the same, in the output.tf for the value variable

value = "${openstack_compute_instance_v2.central-manager.network.0.fixed_ip_v4}"

The pulsar setup fr01, created by GenOuest, is a working example of this configuration and the details are available in the pulsar-infrastructure repo.

SSH configuration

Now we show you how to create a simple jump with the following details:

  • Jump_IP (the jump host using a public IP)

  • Destination_IP (the pulsar server using a private IP only)

First, be sure to be able to SSH from your notebook into the Jump_IP and then, from there to the Destination_IP. Done this, you can configure SSH on your notebook in this way:

nano ~/.ssh/config

and paste the following configuration:

Host pulsar_host
      Hostname Destination_IP
      User centos
      IdentityFile /path/to/your/private_ssh_key
      IdentitiesOnly yes
      PasswordAuthentication no
      Port 22
      ProxyCommand ssh -q -W %h:%p USERNAME@Jump_IP

and from now, you can easily access your Pulsar server from your notebook (through the Jump host) with the command:

ssh pulsar_host