Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to add and list ssh singing key for logged in user #7270

Merged
merged 3 commits into from
Apr 11, 2023

Conversation

kousikmitra
Copy link
Contributor

@kousikmitra kousikmitra commented Apr 3, 2023

Fixes #7009

This will enhance the ssh-key add command with an option --type which will take any of the values [authentication, signing] as input, based on the value it will either add the ssh key as authentication key or a signing key. The default value for --type is authentication

Ex:

$ gh ssh-key add ./ssh_file.pub --type signing --title "Personal Signing Key"
✓ Public key added to your account

This will also enable ssh-key list command to also print the ssh singing keys given it has the required permission to do so.

Ex:

  • When don't have oauth permission for ssh_signing_keys
$ gh ssh-key list

warning:  HTTP 404: Not Found (https://api.github.com/user/ssh_signing_keys?per_page=100)
This API operation needs the "admin:ssh_signing_key" scope. To request it, run:  gh auth refresh -h github.com -s admin:ssh_signing_key
TITLE   ID        KEY                    TYPE            ADDED
Laptop  12345678  ssh-ed25519 AAAAC3Nza  authentication  0m
  • When have both of the oauth permission
$ gh ssh-key list

TITLE   ID        KEY                    TYPE            ADDED
Laptop  12345678  ssh-ed25519 AAAAC3Nza  authentication  5m
Laptop  12345     ssh-ed25519 AAAAC3Nza  signing         0m

@kousikmitra kousikmitra requested a review from a team as a code owner April 3, 2023 20:51
@kousikmitra kousikmitra requested review from mislav and removed request for a team April 3, 2023 20:51
@cliAutomation cliAutomation added the external pull request originating outside of the CLI core team label Apr 3, 2023
@vilmibm vilmibm self-assigned this Apr 4, 2023
Copy link
Contributor

@vilmibm vilmibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's here is great! thank you! In order to consider this complete though I'd love to see gh ssh-key list augmented to print out these signing keys, too.

A new column for type should be added to ssh-key list (added to the end for non-tty output) and signing keys included in the list.

Let me know if this is for some reason not possible.

@kousikmitra
Copy link
Contributor Author

What's here is great! thank you! In order to consider this complete though I'd love to see gh ssh-key list augmented to print out these signing keys, too.

A new column for type should be added to ssh-key list (added to the end for non-tty output) and signing keys included in the list.

Let me know if this is for some reason not possible.

I have mentioned it here If you suggest to go ahead with this I will add changes here.

@kousikmitra kousikmitra force-pushed the feature/ssh-signing-key branch 2 times, most recently from 520e69a to cba435a Compare April 5, 2023 13:27
@kousikmitra kousikmitra requested a review from vilmibm April 5, 2023 13:28
Copy link
Contributor

@vilmibm vilmibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome work, thank you again.

@vilmibm vilmibm enabled auto-merge April 11, 2023 23:01
@vilmibm vilmibm merged commit fe5b142 into cli:trunk Apr 11, 2023
@kousikmitra kousikmitra deleted the feature/ssh-signing-key branch April 12, 2023 04:42
@kousikmitra kousikmitra changed the title Add option to add ssh singing key Add option to add and list ssh singing key for logged in user Apr 13, 2023
renovate bot referenced this pull request in scottames/dots Apr 29, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| minor | `v3.158.0` -> `v3.159.0` |
| [cli/cli](https://togithub.com/cli/cli) | minor | `v2.27.0` ->
`v2.28.0` |
| [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor |
`v0.138.0` -> `v0.139.0` |

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry</summary>

###
[`v3.159.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v3.159.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v3.158.1...v3.159.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av3.159.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av3.159.0)
| aquaproj/aqua-registry@v3.158.0...v3.159.0

#### 🎉 New Packages


[#&#8203;11807](https://togithub.com/aquaproj/aqua-registry/issues/11807)
[kubecfg/kubecfg](https://togithub.com/kubecfg/kubecfg): A tool for
managing complex enterprise Kubernetes environments as code

[#&#8203;11808](https://togithub.com/aquaproj/aqua-registry/issues/11808)
[loov/goda](https://togithub.com/loov/goda): Go Dependency Analysis
toolkit

#### Fixes


[#&#8203;11806](https://togithub.com/aquaproj/aqua-registry/issues/11806)
solidiquis/erdtree: Follow up changes of erdtree v2.0.0

https://github.com/solidiquis/erdtree/releases/tag/v2.0.0

> Perhaps the most important change to note is that the compiled binary
has been renamed from et to erd in order to address the following issue
> regarding name collisions with other programs
>
> -
[https://github.com/solidiquis/erdtree/issues/23](https://togithub.com/solidiquis/erdtree/issues/23)

###
[`v3.158.1`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v3.158.1)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v3.158.0...v3.158.1)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av3.158.1)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av3.158.1)
| aquaproj/aqua-registry@v3.158.0...v3.158.1

#### Fixes


[#&#8203;11790](https://togithub.com/aquaproj/aqua-registry/issues/11790)
Follow up changes of cli/cli v2.28.0
[@&#8203;kyontan](https://togithub.com/kyontan)

GitHub's CLI (cli/cli) changed format for macOS to zip (from tar.gz)
since v2.28.0

See https://github.com/cli/cli/releases/tag/v2.28.0 for details.

</details>

<details>
<summary>cli/cli</summary>

### [`v2.28.0`](https://togithub.com/cli/cli/releases/tag/v2.28.0):
GitHub CLI 2.28.0

[Compare Source](https://togithub.com/cli/cli/compare/v2.27.0...v2.28.0)

#### What's New

-   macOS binaries are now signed and notarized
- ⚠️ macOS archives attached to our releases are no longer `.tar.gz`,
but `.zip` instead. This is because `.tar.gz` archives cannot be
notarized.
- The `checksums.txt` file attached to every release now includes the
checksum of the Windows MSI installer too.

- macOS and Windows binaries are now compiled from their respective
platforms and have `cgo` enabled. This might help resolve respecting
system proxy settings and avoid related networking issues.

- `issue edit`: edit multiple issues at the same time by
[@&#8203;heaths](https://togithub.com/heaths) in
[https://github.com/cli/cli/pull/7259](https://togithub.com/cli/cli/pull/7259)

- Add `gh org list` by
[@&#8203;joshkraft](https://togithub.com/joshkraft) in
[https://github.com/cli/cli/pull/7257](https://togithub.com/cli/cli/pull/7257)

- `ssh-key`: add ability to manage signing keys by
[@&#8203;kousikmitra](https://togithub.com/kousikmitra) in
[https://github.com/cli/cli/pull/7270](https://togithub.com/cli/cli/pull/7270)

- `search`: enable owner flag to take multiple values by
[@&#8203;kousikmitra](https://togithub.com/kousikmitra) in
[https://github.com/cli/cli/pull/7305](https://togithub.com/cli/cli/pull/7305)

- `codespace`: add `--web` flag for `list` & `create` commands by
[@&#8203;doaortu](https://togithub.com/doaortu) in
[https://github.com/cli/cli/pull/7288](https://togithub.com/cli/cli/pull/7288)

- Our Debian & RPM packages now ship with shell completion scripts by
[@&#8203;Xerkus](https://togithub.com/Xerkus) in
[https://github.com/cli/cli/pull/7293](https://togithub.com/cli/cli/pull/7293)

- `run list`: add `--event` and `--created` filters by
[@&#8203;cawfeecake](https://togithub.com/cawfeecake) in
[https://github.com/cli/cli/pull/7363](https://togithub.com/cli/cli/pull/7363)
[https://github.com/cli/cli/pull/7352](https://togithub.com/cli/cli/pull/7352)

- `repo`: add `visibility` JSON field by
[@&#8203;yeikel](https://togithub.com/yeikel) in
[https://github.com/cli/cli/pull/7337](https://togithub.com/cli/cli/pull/7337)

#### What's Changed

- Fix typo in `cs stop` command: `Stoppping` -> `Stopping` by
[@&#8203;FalseDev](https://togithub.com/FalseDev) in
[https://github.com/cli/cli/pull/7318](https://togithub.com/cli/cli/pull/7318)
- Update go-gh to v2 by [@&#8203;samcoe](https://togithub.com/samcoe) in
[https://github.com/cli/cli/pull/7299](https://togithub.com/cli/cli/pull/7299)
- `auth login`: normalize host name by
[@&#8203;tuananhlai](https://togithub.com/tuananhlai) in
[https://github.com/cli/cli/pull/6999](https://togithub.com/cli/cli/pull/6999)
- build(deps): bump github.com/cenkalti/backoff/v4 from 4.2.0 to 4.2.1
by [@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/cli/cli/pull/7323](https://togithub.com/cli/cli/pull/7323)
- Clarify how SSH keys are selected for `gh codespace ssh` by
[@&#8203;jkeech](https://togithub.com/jkeech) in
[https://github.com/cli/cli/pull/7325](https://togithub.com/cli/cli/pull/7325)
- Initialize deployment.yml workflow file by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7328](https://togithub.com/cli/cli/pull/7328)
- Fix `gh cs ports` requiring `sudo` for privileged port numbers by
[@&#8203;cmbrose](https://togithub.com/cmbrose) in
[https://github.com/cli/cli/pull/7326](https://togithub.com/cli/cli/pull/7326)
- Correct some typos by [@&#8203;goggle](https://togithub.com/goggle) in
[https://github.com/cli/cli/pull/7342](https://togithub.com/cli/cli/pull/7342)
- Diacritics substitution in prompt by
[@&#8203;benjlevesque](https://togithub.com/benjlevesque) in
[https://github.com/cli/cli/pull/7205](https://togithub.com/cli/cli/pull/7205)
- gh: move `CODEOWNERS` inside the `.github/` dir by
[@&#8203;SauravMaheshkar](https://togithub.com/SauravMaheshkar) in
[https://github.com/cli/cli/pull/7366](https://togithub.com/cli/cli/pull/7366)
- Pretty-print gh api output when using --jq by
[@&#8203;mjpieters](https://togithub.com/mjpieters) in
[https://github.com/cli/cli/pull/7236](https://togithub.com/cli/cli/pull/7236)

#### New Contributors

- [@&#8203;joshkraft](https://togithub.com/joshkraft) made their first
contribution in
[https://github.com/cli/cli/pull/7257](https://togithub.com/cli/cli/pull/7257)
- [@&#8203;kousikmitra](https://togithub.com/kousikmitra) made their
first contribution in
[https://github.com/cli/cli/pull/7270](https://togithub.com/cli/cli/pull/7270)
- [@&#8203;doaortu](https://togithub.com/doaortu) made their first
contribution in
[https://github.com/cli/cli/pull/7288](https://togithub.com/cli/cli/pull/7288)
- [@&#8203;FalseDev](https://togithub.com/FalseDev) made their first
contribution in
[https://github.com/cli/cli/pull/7318](https://togithub.com/cli/cli/pull/7318)
- [@&#8203;tuananhlai](https://togithub.com/tuananhlai) made their first
contribution in
[https://github.com/cli/cli/pull/6999](https://togithub.com/cli/cli/pull/6999)
- [@&#8203;goggle](https://togithub.com/goggle) made their first
contribution in
[https://github.com/cli/cli/pull/7342](https://togithub.com/cli/cli/pull/7342)
- [@&#8203;Xerkus](https://togithub.com/Xerkus) made their first
contribution in
[https://github.com/cli/cli/pull/7293](https://togithub.com/cli/cli/pull/7293)
- [@&#8203;cawfeecake](https://togithub.com/cawfeecake) made their first
contribution in
[https://github.com/cli/cli/pull/7363](https://togithub.com/cli/cli/pull/7363)
- [@&#8203;yeikel](https://togithub.com/yeikel) made their first
contribution in
[https://github.com/cli/cli/pull/7337](https://togithub.com/cli/cli/pull/7337)
- [@&#8203;SauravMaheshkar](https://togithub.com/SauravMaheshkar) made
their first contribution in
[https://github.com/cli/cli/pull/7366](https://togithub.com/cli/cli/pull/7366)
- [@&#8203;mjpieters](https://togithub.com/mjpieters) made their first
contribution in
[https://github.com/cli/cli/pull/7236](https://togithub.com/cli/cli/pull/7236)

**Full Changelog**: cli/cli@v2.27.0...v2.28.0

</details>

<details>
<summary>weaveworks/eksctl</summary>

###
[`v0.139.0`](https://togithub.com/weaveworks/eksctl/releases/tag/v0.139.0):
eksctl 0.139.0 (permalink)

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.138.0...0.139.0)

### Release v0.139.0

#### 🚀 Features

- Security Policy for eksctl project
([#&#8203;6541](https://togithub.com/weaveworks/eksctl/issues/6541))

#### 🐛 Bug Fixes

- Fix flux version validation
([#&#8203;6530](https://togithub.com/weaveworks/eksctl/issues/6530))

#### 📝 Documentation

- Fix empty info block on Default Addon Upgrades page
([#&#8203;6524](https://togithub.com/weaveworks/eksctl/issues/6524))
- Update installation instructions
([#&#8203;6376](https://togithub.com/weaveworks/eksctl/issues/6376))
- AWS Private link support for fully private cluster
([#&#8203;6408](https://togithub.com/weaveworks/eksctl/issues/6408))

#### Acknowledgments

Weaveworks would like to sincerely thank:
[@&#8203;thezanke](https://togithub.com/thezanke), and
[@&#8203;yuxiang-zhang](https://togithub.com/yuxiang-zhang)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS41OC4yIiwidXBkYXRlZEluVmVyIjoiMzUuNjMuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@AskDek

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external pull request originating outside of the CLI core team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ssh-key should allow to select the SSH key type (signing or authentication)
4 participants