coreos / coreos/ignition

Support for importing public SSH keys from GitHub

Open
#1,718 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
974
Forks
296
Avg merge
6d 14h
Merged PRs (30d)
9

Description

Feature Request

I hope Ignition can support the import of public SSH keys from GitHub (or other trusted online identities).

To do that, we just need to call this opening API Endpoint:

$ curl -L https://api.github.com/users/mogeko/keys
[
  {
    "id": 64006488,
    "key": "ssh-rsa ..."
  }
]

Desired Feature

We can allow passwd.sshAuthorizedKeys to accept an identity Object:

{
  "passwd": {
    "users": {
      "name": "mogeko",
      "sshAuthorizedKeys": [
         { "server": "github", "user": "mogeko" },
         "other ssh keys..."
      ]
    }
  }
}

Or an identity String:

{
  "passwd": {
    "users": {
      "name": "mogeko",
      "sshAuthorizedKeys": [
        "gh:mogeko",
        "other ssh keys..."
      ]
    }
  }
}

Other Information

Here is a software with similar functions as a reference: ssh-import-id.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the passwd.sshAuthorizedKeys handling and review the GitHub REST endpoint for listing a user's public keys. Use the object and string examples to define the accepted identity forms; the work is done when the configured identity resolves to imported public keys alongside existing SSH keys.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go
Domain
authentication, backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.