# Installing the Client Tools First identify a system from where you will perform administrative tasks, such as creating certificates, kubeconfig files and distributing them to the different VMs. If you are on a Linux laptop, then your laptop could be this system. In my case I chose the `master-1` node to perform administrative tasks. Whichever system you chose make sure that system is able to access all the provisioned VMs through SSH to copy files over. ## Access all VMs Here we create an SSH key pair for the `vagrant` user who we are logged in as. We will copy the public key of this pair to the other master and both workers to permit us to use password-less SSH (and SCP) go get from `master-1` to these other nodes in the context of the `vagrant` user which exists on all nodes. Generate Key Pair on `master-1` node ```bash ssh-keygen ``` Leave all settings to default. View the generated public key ID at: ```bash cat ~/.ssh/id_rsa.pub ``` Add this key to the local authorized_keys (`master-1`) as in some commands we scp to ourself ```bash cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` Copy the output into a notepad and form it into the following command ```bash cat >> ~/.ssh/authorized_keys < output ``` kubectl version -o yaml clientVersion: buildDate: "2022-07-13T14:30:46Z" compiler: gc gitCommit: aef86a93758dc3cb2c658dd9657ab4ad4afc21cb gitTreeState: clean gitVersion: v1.24.3 goVersion: go1.18.3 major: "1" minor: "24" platform: linux/amd64 kustomizeVersion: v4.5.4 The connection to the server localhost:8080 was refused - did you specify the right host or port? ``` Don't worry about the error at the end as it is expected. We have not set anything up yet! Prev: [Compute Resources](02-compute-resources.md)
Next: [Certificate Authority](04-certificate-authority.md)