DEV Community

Cover image for Generate SSH Keys Effortlessly with generate-ssh-key
Elias
Elias

Posted on

Generate SSH Keys Effortlessly with generate-ssh-key

๐Ÿ”‘ Simplify SSH Key Generation for Git

Have you ever struggled with setting up SSH keys for your Git repositories? Or maybe you're tired of explaining the process to new team members? I've created a simple utility that makes this process a breeze!

Hi! I'm Elias Floreteng, and I built this tool after noticing how many developers struggle with SSH key setup, especially when onboarding new team members. I wanted to create something that would make this process completely painless for everyone.

What is generate-ssh-key?

generate-ssh-key is a cross-platform Node.js utility that generates ED25519 SSH keys with a single command. It handles all the complexities of SSH key generation, including:

  • Creating the .ssh directory with proper permissions
  • Generating a secure ED25519 key pair
  • Copying the public key to your clipboard
  • Automatically installing OpenSSH on Windows if needed
  • Converting your repository URLs from HTTPS to SSH

Getting Started

It's as simple as running:

npx generate-ssh-key
Enter fullscreen mode Exit fullscreen mode

That's it! The tool will guide you through the rest of the process.

Key Features

1. Cross-Platform Support

Works seamlessly on Windows, macOS, and Linux, handling platform-specific requirements automatically.

2. Smart OpenSSH Installation

On Windows, it checks if OpenSSH is installed and helps you install it if needed.

3. Automatic Clipboard Copy

Your public key is automatically copied to your clipboard, ready to be pasted into GitHub, GitLab, or any other service.

4. Repository URL Conversion

If you're in a Git repository, it can automatically convert your remote URLs from HTTPS to SSH format.

Why ED25519?

The utility generates ED25519 keys by default because they're:

  • More secure than RSA keys
  • Faster to generate and use
  • Shorter and more convenient to work with

Next Steps After Generation

The tool provides clear instructions for:

  1. Adding your key to GitHub/GitLab
  2. Converting existing repositories to use SSH
  3. Cloning new repositories with SSH URLs

Under the Hood

The utility is built with Node.js and uses several key packages:

  • chalk for colorful console output
  • inquirer for interactive prompts
  • which for command availability checking

Contribute

This is an open-source project! If you'd like to contribute or check out the code, visit the GitHub repository:
generate-ssh-key on GitHub

Install Globally

If you use it frequently, you can install it globally:

npm install -g generate-ssh-key
Enter fullscreen mode Exit fullscreen mode

Then use it anywhere with:

generate-ssh-key
Enter fullscreen mode Exit fullscreen mode

Never struggle with SSH key generation again! Try it out and let me know what you think in the comments below. ๐Ÿ’ฌ

Top comments (0)