久しぶりに型落ちのPCにUbuntu Serverをインストールし直したのですが、SSH接続設定を楽にする便利な機能があったので紹介します。
GitHubに登録したSSH公開鍵をインストールするUbuntu ServerのSSHキーに設定する方法です。
Ubuntu Server 24.04.1 LTS
簡単な図解#

鍵の生成#
今回はWindowsで鍵を生成します。GitHubの公式ドキュメントもあわせて参照してください。 新しいSSHキーを生成する
ssh-keygenで鍵生成#
公式はコメントにメールアドレスを入力することを推奨していますが、個人的には分かりづらいのでなんの用途かをコメントするようにしています。PowerShell
を開いて.ssh
フォルダーに移動してファイ名を指定して生成。passphrase
は空にしました。
ssh-keygen -t ed25519 -C "ubuntu server test" -f "ubuntu-test"

.ssh
フォルダーに公開鍵ubuntu-test.pub
と秘密鍵ubuntu-test
ファイルが生成されます。

キーの確認#
キーの確認もしておきます。
ssh-keygen -l -f ubuntu-test.pub

GitHubにSSH公開鍵を登録#
今回は自環境を汚したくないのでWeb経由で公開鍵を登録します。GitHubアカウントへの新しいSSHキーの追加
決してghコマンドをつかえないわけではありませんよ🫣
GitHubへログインし、
Settings
> SSH and GPG keys
のNew SSH key
ボタンから公開鍵を登録します。(https://github.com/settings/keys)Title
に好きな名前、Key
に公開鍵(ubuntu-test.pub
)の中身をコピペします。


API経由からも確認しておきましょう。https://github.com/<username>.keys
Ubuntu Serverのインストール#
Ubuntu Serverインストール時に言語やユーザー名を決めた後にSSHの設定があります。
Import SSH key
からGitHubを選択してユーザー名を入力するとGitHubアカウントに登録されているSSH Keyをすべてインポートします。


すべてのSSH Keyをインポートした後につかわないものは削除しましょう。


余談
1枚目のAllow password authentication over SSH
はチェック外してもよかったかも
実機を想定してこの記事を書いてますが、Virtual Boxでインストールする場合は自動インストールをスキップ
に✅を入れてください。
仮想マシンへのSSH接続設定はもっとよい方法があるのでこんな面倒なことしないでください。
Ubuntu ServerへSSH接続#
.ssh/configの設定#
.ssh/config
にUbuntu Serverの接続情報を追記します。
Host test #設定名
HostName 127.0.0.1 #Ubuntu ServerのIPアドレス
User ubuntu-test #Ubuntu Serverのユーザー名
Port 22
IdentityFile "C:\Users\main\.ssh\ubuntu-test" #秘密鍵
接続確認#
.ssh/config
のHost
で設定した名前を指定してSSHで接続します。
ssh test

無事にUbuntu ServerにSSH KeyをGitHub経由でインポートし、SSH接続の確認ができました。
最後に#
最近追加された機能なのかなと思ったのですが、18.04.2 LTSからある機能らしいです。
よく考えてみたらいつもDesktopの方をインストールしてました。🫠