Ubuntu Server インストーラの Github, Launchpad からの ssh公開鍵インポート機能

Example 1. : “https://github.com/settings/keys からSSH Keyとして突っ込ん…” – :don:

github.com/settings/keys からSSH Keyとして突っ込んどくと便利だし、今のUbuntu Serverはセットアップでそれを使う項目すらあるので

なるほど便利そう
試してみようと Ubuntu Server 18.04.2 LTS
(ubuntu-18.04.2-live-server-amd64.iso) のインストーラで試してみました．

Download Ubuntu Server | Download | Ubuntu

OpenSSH を導入するようにすると，SSH鍵をインポートするオプションで Github / Launchpad が選べます．

こんな感じでインポートされました．

インストールが終了して ssh login するとインポートされた鍵で login 出来ました．

インポートされた公開鍵を確認するとコメント部分が少し書き換わっています．

$ cat ~/.ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP matoken@github/16598604 # ssh-import-id gh:matoken
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEoKnbjj7cVafcAJbYHqUEua1x/81uzoK0LnjgqmR6H8 matoken@github/33364582 # ssh-import-id gh:matoken

sshd_config を見ると編集ではなく末尾に追記してるのでちょっと雑い感．

$ grep PasswordAuthentication /etc/ssh/sshd_config
#PasswordAuthentication yes
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication, then enable this but set PasswordAuthentication
PasswordAuthentication no
$ tail -1 /etc/ssh/sshd_config
PasswordAuthentication no

ちなみに，Github から鍵を入手するのはこんな感じで行けるようです．
(<USERNAME>部分を該当ユーザ名に修正)

ssh公開鍵

https://github.com/<USERNAME>.keys

ssh公開鍵 json 形式

https://api.github.com/users/<USERNAME>/keys

GPG公開鍵

https://github.com/<USERNAME>.gpg

Launchpad はこんな感じ．

ssh公開鍵

https://launchpad.net/~<USERNAME>/+sshkeys

ちなみにLaunchpad は未だED25519形式には未対応なようです．

Bitbucket の鍵も同様に https://api.bitbucket.org/2.0/users/<USERNAME>/ssh-keys で入手できそうと思ったのですが，未認証では駄目みたいです．

$ curl -s https://api.bitbucket.org/2.0/users/matoken/ssh-keys|jq
{
"type": "error",
"error": {
"message": "This API is only accessible with the following authentication types: session, password, apppassword"
}
}

Bitbucket API

Bitbucket API

環境

$ lsb_release -d
Description: Ubuntu 18.04.2 LTS
$ uname -m
x86_64