Debian Google Cloud Putty Generate Ssh Key

Posted By admin On 12.12.20

by Nezar Assawiel

Google Cloud offers many tools and services. One of these services is creating highly customizable virtual machines. If you are not familiar with what a virtual machine is, here is a definition from Microsoft:

Nov 02, 2018  Highlight the whole Key field from the PuTTY Key Generator, and copy and paste it in the key data field in Google Cloud: Click create and wait for the virtual machine instance to be created. In the meantime, you can go to PuTTY. Go to SSH -A uth and browse for the private key file.

A virtual machine is a computer file, typically called an image, that behaves like an actual computer. In other words, creating a computer within a computer. It runs in a window, much like any other program, giving the end user the same experience on a virtual machine as they would have on the host operating system itself. The virtual machine is sandboxed from the rest of the system, meaning that the software inside a virtual machine can’t escape or tamper with the computer itself.

Virtual machines are needed in many situations to test applications against other operating systems, to access virus-infected data, or to experiment with other operating systems. You can install virtual machines on your computer. You can also create them in the cloud and simply connect to them.

In this tutorial, I will walk you through how to create a virtual machine in Google Cloud. We can connect to it with SSH from your computer.

  • Mar 03, 2020 Generating a key pair on Windows. Make sure that PuTTY is installed on your local system. Start PuTTYGen from the Windows Start Menu. In the window that opens, select the key type from the Parameters field. Click Generate. PuTTYGen displays the generated public key string. Specify a passphrase to protect the key pair.
  • Root Login for the google compute engine instance. Faizan (Google Cloud Support). Is your gmail account name without @gmail.com,which can be used as root user and can login through third part as Putty Xshell only through SSH KEY,about SSH creation,please check GCP's Help option.
  • Aug 27, 2019  There are two ways you can make an SSH connection using PuTTY to GCP provisioned Linux Compute Instance: - Generate Public / Private SSH.
  1. If you don’t have one already, create a Google Cloud account from here.

You will get $300 credit to play around with for a year! It is more than enough to learn and play with everything Google Cloud offers.

2.Create a new project or use an existing one. You can create a new project called project1, for example, as in the following gif:

3. Now you are set to create a virtual machine. Go to the top left corner of your Google Cloud home page, click on the triple bar icon ≡ and select Compute Engine ->VM instance and click Create.

Enter whatever name you want in the Name field as shown below:

Generate wallet address without private key. Keep the default region and zone. Any region/zone will do for this tutorial. If you are curious about what they mean, you can read Google Cloud’s documentation about them here.

You can keep default machine type or click Customize toselect the number of CPU cores, memory, and GPUs you would like your virtual machine to have. You will see the cost on the right side changes!

Debian Ssh Enable

For your first experiments with Google Cloud, you can be conservative with the $300 credit for some actual work. In such a case, you can choose the following configuration:

Next choose a boot disk. For example, you can choose 20 GB, SSD, Ubuntu 16.04 LTS as shown below:

Then set the Service Account under Identity and API access to No service account as shown below:

Finally, go to the Security tab under Firewall. You will see an SSH Key field as shown below:

This where you are going to connect your computer to the virtual machine using your SSH Key!

If you are not familiar with SSH (Secure Shell) and why you may want to use it, it is a network protocol that provides encrypted data communication between two computers (your computer and Google’s servers, in this case) which are connected over an insecure network (the Internet here).

To establish an SSH connection, you may need an application that can do that, depending on your operating system. Follow the rest of this post depending on your operating system (Windows or Mac/Linux).

Windows

I recommend PuTTY. It is an open-source and easy to use SSH client. You can download PuTTY and install it from here.

After installing PuTTY, open PuTTY Key Generator and click create. It will generate a random key by you moving the mouse over the blank area. After it is done, you will get something like this:

Change the key comment field to something recognizable and easy to type, as this will become a user name later!

Then save both the public and private keys by clicking the corresponding icons shown in the picture above.

Highlight the whole Key field from the PuTTY Key Generator, and copy and paste it in the key data field in Google Cloud:

Click create and wait for the virtual machine instance to be created.

In the meantime, you can go to PuTTY. Go to SSH ->Auth and browse for the private key file that you saved.

Next, go to Google Cloud and copy the external IP from the virtual machine instance that you just created as shown below:

And paste it on the Host field under Sessions in PuTTY and hit Enter:

Note: you might get an error message. Ignore it and click yes. (It just says the key is not already in the registry. Are you sure you want to connect?)

Then enter the username you created when generating the key (key comment above). Boom! you are in the virtual machine that you just created.

You can install python and Google APIs on it, for example, to start making some magic! Don’t forget to shut it down in Google Cloud after you are done to be economic with your credit :)

Mac/Linux

Mac and Linux support SSH connection natively. You just need to generate an SSH key pair (public key/private key) to connect securely to the virtual machine.

The private key is equivalent to a password. Thus, it is kept private, residing on your computer, and should not be shared with any entity. The public key is shared with the computer or server to which you want to establish the connection. To generate the SSH key pair to connect securely to the virtual machine, follow these steps:

Enter the following command in Terminal: ssh-keygen -t rsa . It will start the key generation process. You will be prompted to choose the location to store the SSH key pair. Press ENTER to accept the default location as shown below:

Next, choose a password for your login to the virtual machine or hit ENTER if you wish not to use a password. The private key (i.e. identification) and the public key will be generated as shown below:

Now run the following command: cat ~/.ssh/id_rsa.pub . It will display the public key in the terminal as shown below. Highlight and copy this key:

and paste it in the SSH key field in Google Cloud and hit Create:

Now you can use the External IP of the virtual machine you just created:

to ssh to it as follows:

You will get “The authenticity of host…etc.” warning as shown in the picture below. This is normal. Whenever SSH connects to a system it hasn’t seen before, it will generate a warning like this. Reply yes to connect, and bingo!You are in the virtual machine, as you can see from host name instance-3. To exit the virtual machine, just type exit.

Don’t forget to shut the virtual machine in Google Cloud after you are done to save that $300 credit!

Originally published at assawiel.com/blog on December 23, 2017. Updated: Oct 10, 2018

PuTTYgen is a key generator tool for creating pairs of public and private SSH keys. It is one of the components of the open-source networking client PuTTY. Although originally written for Microsoft Windows operating system, it is now officially available for multiple operating systems including macOS, Linux. PuTTYgen.exe is the graphical tool on Windows OS. While on the other side, Linux OS has the only command-line version could be accessible using SSH commands.

Debian Ssh Setup

  • 1 Download PuTTYgen
    • 1.1 Download PuTTYgen on Windows
    • 1.2 Download PuTTYgen for Mac
    • 1.3 Download PuTTYgen for Ubuntu/Linux
      • 1.3.3 Types of Keys Supported on PuTTYgen

Puttygen aka Putty Key Generator

The key generation utility – PuTTYgen can create various public-key cryptosystems including Rivest–Shamir–Adleman (RSA), Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA), and Edwards-curve Digital Signature Algorithm (EdDSA) keys.

The aforementioned public-key cryptosystems principally focus on secure data transmission and digital signatures.

Although PuTTYgen collects keys in its native file format i.e. .ppk files, the keys can easily be converted to any file format. Lockdown for mac os x. For Windows, the software interface is PuTTYgen.exe, whereas, for Linux OS the command-line adaptation is available using SSH commands.

How to use PuTTYgen?

Debian Google Cloud Putty Generate Ssh Key Mac

PuTTYgen is used to generate public or private key pair for creating SSH keys. Below is the complete guidance about how to generate RSA key in the Windows operating system:

  1. Once you install the PuTTY on your machine, you can easily run PuTTYgen. For the same, go to Windows -> Start Menu -> All Programs -> PuTTY -> PuTTYgen.
  2. You will see the PuTTY key generator dialog box on your screen
  3. You will find a “Generate” button in that dialog. Clicking on it will lead to generating the keys for you.
  4. Now you will need to add a unique key passphrase in the Key passphrase and Confirm passphrase field.
  5. Click on the “Save Public Key” and “Save Private Key” buttons to save your public and private keys.
  6. You will see the text starting with ssh-RSA in the Public key for pasting into OpenSSH authorized_keys file field which is located at the top of the window. Copy that entire text to your clipboard by pressing ctrl+c as you will require the key to paste on your clipboard in the public key tool of control panel or directly on the cloud server.

Various Ways to Use RSA Key Pair

RSA key pair generated through PuTTYgen is used in two various ways defined as below:

  1. To assign while creating a new cloud server
    You can choose the public key from the given list of keys at the time of creating a cloud server. If you don’t find your key in that list, then first add and then assign it.
  2. Assign to an existing cloud server
    At the time of connecting to the cloud server, first of all, you need to tell PuTTY to use it for utilizing your newly created RSA key pair.
Debian google cloud putty generate ssh key mac

PuTTYgen being a component of the terminal emulator PuTTY does not have to be downloaded separately, hence, comes with the PuTTY .msi installation package. You can follow the simple steps to download PuTTYgen software for your system. That is the reason why you don’t need to download PuTTYgen separately. Once you download PuTTY software, you will be able to install and run PuTTYgen easily in no time. Below is the complete instruction about how to download and install PuTTY on Windows.

Apart from that, it is also integrated into third-party programs such as WinSCP installation package. Below you can find a complete PuTTYgen download and installation guide for all operating systems.

Download PuTTYgen on Windows

To download PuTTYgen the primary requisite is to acquire the copy of PuTTY installation package. For the 64-bit operating system, one must install the 64-bit version of PuTTY, i.e. putty-64bit-<version>-installer.msi.Similarly, for the 32-bit operating system, the respective 32-bit version of PuTTY, i.e. putty-<version>-installer.msi needs to be installed.

To get PuTTY, go to PuTTY Installation Download page, whereby the complete installation package will be available with setup instructions, installation guide, and download links to all other components of PuTTY such as putty.exe, pscp.exe, psftp.exe, puttytel.exe, plink.exe, pageant.exe and putty.zip.

Debian Google Cloud Putty Generate Ssh Key


Following the successful download of the PuTTY installation package. It is time to install the program. Go to How to install PuTTY on Windows, whereby you will find the step by step guidance for PuTTY installation for Windows operating system.

After successfully downloading and installing PuTTY on your Windows machine, you are just 2-3 clicks away to run PuTTYgen. Follow the below-given step by step guidance to run PuTTYgen:

Run PuTTYgen on Windows

To run PuTTYgen, Go to Windows -> Start Menu -> All Programs -> PuTTY -> PuTTYgen. You will see a window for the PuTTY Key Generator on your screen.

Voila! Now you can generate public or private key pair using PuTTYgen.

Download PuTTYgen for Mac


Below is the detailed guide to download PuTTYgen on Mac operating system. Mac OS has a built-in command-line SSH client known as Terminal. To utilize it, go to Finder and then opt for Go -> utilities from the top menu. After that find the terminal which supports SSH connections to remote servers.

However, to run PuTTYgen for mac, the first one must have to install PuTTY. There are multiple ways to install PuTTY, which are Homebrew or MacPorts. Both alternatives will also install the command-line of adaptations of PuTTYgen.

Ported PuTTY for Mac

Debian Ssh Log

Mac has the port of PuTTY which can be installed in various ways described as below:

  1. Installation using Homebrew:
    First, install the ‘brew command line’ Once installed use the below-given command to install PuTTY:-
    sudo brew install putty
  2. Installation using MacPorts:
    First of all, one must install MacPorts and then use the command-line to install PuTTY. Here is the command to install PuTTY via MacPorts
    sudo port install putty
    Additionally, a user can also add a shortcut to the desktop by writing the following command line
    –cp /opt/local/bin/putty ~/Desktop/PuTTY

However, there is an alternative way to install PuTTY on Mac OS. Cyberduck is a widely used Mac OS SSH Client. Once PuTTY installed on the Mac OS, a user can convert PuTTY derived private key format to OpenSSH.

To convert the private key to standard PEM format, type the following command –

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

You can also read the guide to convert .pem file to .ppk using puttygen.

Download PuTTYgen for Ubuntu/Linux

To download PuTTYgen for Ubuntu (Linux) operating system, a user to first install PuTTY. However, in some Linux distributions, the SSH key generation tool – PuTTYgen needs to be installed independently from the PuTTY client.

For example, Debian Linux requires the below-given code to install PuTTYgen:

sudo apt install putty-tools

Generate Key Pair for Authentication in Linux

To create the key pair for authentication in Linux use the below command:-

puttygen -t rsa -b 2048 -C 'user@host' -o keyfile.ppk

Various Command Line Options of PuTTY in Linux

Below are few important command line options in the Linux operating system for PuTTY:

PuTTYgen [-t keytype [-b bits] [-q] keyfile]
[-C new-comment] [-P]
[-O output-type -p -l -L]
[-o output-file]

Options:

Debian Google Cloud Putty Generate Ssh Keys

  1. Keyfile – It is the name of the existing key file to read at the time of changing the current key.
  2. t keytype – The command specifies the type of key to creating. Its acceptable values are RSA and dsa.rsa1.
  3. -b bits – This command specifies a total number of bit in a particular key. 1024 is the perfect size for DSA key, while 2048 or 4096 are the perfect size for RSA keys.
  4. q – The command suppresses the message about progress at the time of key generation.
  5. -C new-comment – The command will specify the comment to describe the key. It can be used for the new and/or existing key. Key operation is not affected by a comment. However, it is used to recognize the key owner, it’s not reliable completely as any value can be applied to it.
  6. –P – Using the command will update the passphrase of a key. Passphrase helps to encrypt the private key. As passphrase can’t add or update on a command line, it prompts a new passphrase tool to alter it.
  7. –old-passphrase-file – The old password of the key remains in this file. The command is used when the key is protected by a passphrase.
  8. –new-passphrase file – This command prompts the new passphrase of the key. It comes in the action either at the time of generating a new key or while applying –P command to change the passphrase.
  9. -O output-type – This command defines what to give in output. By default, the private key is the output.

Thus, above are the prominent commands of PuTTYgen in Linux operating system. Besides that, there are many other commands available to perform various tasks from the command prompt in Linux at flank speed.

Types of Keys Supported on PuTTYgen

It is important to know the types of key PuTTYgen supports prior to using it. Below are the key types that it currently supports for SSH-2 and SSH-1 protocol:-

  • SSH-1 protocol:- For SSH-1 only supports one key i.e. Rivest–Shamir–Adleman (RSA)
  • SSH-2 protocol: – SSH-2 supports multiple key types that include – Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA) and Ed25519.

Debian Google Cloud Putty Generate Ssh Key Linux

The above description is a detailed brief on downloading and running PuTTYgen on all major operating systems. For further details please check the Download PuTTY page.