SSH Deploy Keys Walkthrough
Authentication: SSH Deploy Keysの指示がうまくいかなかった場合(例えば、ssh-keygen
がインストールされていないなど)、心配しないでください!この手順では、プロセスを案内します。主なステップは3つあります:
- Generating an SSH Key
- Adding the Public Key to GitHub or Gitea such as Codeberg
- Adding the Private Key
Generating an SSH Key
最初のステップはSSHキーを生成することです。SSHキーは2つのコンポーネントで構成されています:共有可能な公開キーと、決して公開されないようにすべき秘密キーです。
公開鍵は通常次のようになります。
ssh-rsa [base64-encoded-key] [optional-comment]
そして、秘密鍵は通常次のようになります。
-----BEGIN RSA PRIVATE KEY-----
... base64-encoded key over several lines ...
-----END RSA PRIVATE KEY-----
If you have ssh-keygen
installed
ssh-keygen
がインストールされているが、DocumenterTools.genkeys()
が機能しなかった場合、次のようにSSHキーを生成できます。まず、ssh-keygen
を使用してキーを生成し、それをファイルprivatekey
に保存します:
shell> ssh-keygen -N "" -f privatekey
次に、プライベートキーをBase64でエンコードする必要があります。次のコマンドを実行してください:
julia> using Base64
julia> read("privatekey", String) |> base64encode |> println
出力をどこかにコピーして貼り付けてください。これはあなたのプライベートキーであり、最後のステップに必要です。
次に、公開鍵を取得する必要があります。次のコマンドを実行してください:
julia> read("privatekey.pub", String) |> println
出力をどこかにコピーして貼り付けてください。これはあなたの公開鍵であり、ステップAdding the Public Key to GitHub or Gitea such as Codebergに必要です。
If you do not have ssh-keygen
Windowsを使用している場合、ssh-keygen
がインストールされていない可能性があります。その代わりに、PuTTYというプログラムを使用します。新しいSSHキーを生成するプロセスの最初のステップは、PuTTYをダウンロードすることです:
- Download and install PuTTY
PuTTYは実際にはいくつかの異なるプログラムのコレクションです。PuTTYgenを使用する必要があります。それを開くと、次のようなウィンドウが表示されるはずです:
今、キーを生成する必要があります。
- 「生成」ボタンをクリックし、指示に従ってマウスを動かしてランダム性を作り出してください。
マウスを十分に動かすと、ウィンドウは次のようになります:
今、公開鍵をどこかに保存する必要があります。
- 公開鍵をOpenSSHのauthorizedkeysファイルに貼り付けるためのボックスにあるテキストをコピーして、後で使用するためにどこかに貼り付けてください。これはあなたの公開鍵であり、ステップ`416464696e6720746865205075626c6963204b657920746f20476974487562206f72204769746561207375636820617320436f64656265726740726566`に必要です。
最後に、プライベートキーをどこかに保存する必要があります。
「変換」タブをクリックし、「OpenSSHキーをエクスポート」をクリックします。そのファイルをどこかに保存します。そのファイルはあなたの秘密鍵であり、最後のステップに必要です。
Note 「秘密鍵を保存」ボタンを使用して鍵を保存しないでください。これは鍵を間違った形式で保存します。
ここまで来たあなた、おめでとうございます!これで、ドキュメントの自動デプロイメントを設定するために必要な秘密鍵と公開鍵を手に入れました。次のステップは、これらの鍵をGitHubとTravisに追加することです。
Adding the Public Key to GitHub or Gitea such as Codeberg
このセクションでは、GitHubやCodebergのようなGiteaに公開SSHキーをアップロードする方法を説明します。この時点で、公開鍵を生成し、それをファイルに保存しているはずです。まだこれを行っていない場合は、Generating an SSH Keyを読んでください。
https://github.com/[YOUR_USER_NAME]/[YOUR_REPO_NAME]/settings/keys
にアクセスし、https://somegiteaname.org/[YOUR_USER_NAME]/[YOUR_REPO_NAME]/settings/keys
に移動して、「Add deploy key」をクリックしてください。次のようなページに到達するはずです:
GitHub
Gitea
今、私たちは3つの情報を埋める必要があります。
- 「タイトル」を「ドキュメンター」としてください。
- 生成した公開鍵を「Key」または「Content」フィールドにコピーして貼り付けてください。
- 「書き込みアクセスを許可」ボックスがチェックされていることを確認してください。
完了したら、「Add key」をクリックしてください。おめでとうございます!公開鍵をGitHubまたはGiteaインスタンスに追加しました。次のステップは、プライベートキーをTravis、GitHub、またはWoodpecker Secretsに追加することです。
Adding the Private Key
このセクションでは、プライベートSSHキーをTravisにアップロードする方法を説明します。この時点で、プライベートキーを生成し、それをファイルに保存している必要があります。まだこれを行っていない場合は、Generating an SSH Keyを読んでください。
まず、プライベートキーをBase64エンコードする必要があります。Juliaを開き、次のコマンドを実行します。
julia> using Base64
julia> read("path/to/private/key", String) |> base64encode |> println
UnixおよびUnixライクなシステムにいる場合は、openssl
コマンドをtr
(切り捨て用)と組み合わせて、base64エンコードされたキーを生成できます。
$ openssl enc -base64 -in path/to/your/private/key -out path/to/your/base/64/encoded/key
$ # We need to truncate the newlines
$ cat path/to/your/base/64/encoded/key | tr -d "\n"
Please provide the Markdown content you would like me to translate into Japanese.
https://travis-ci.com/[YOUR_USER_NAME]/[YOUR_REPO_NAME]/settings
に移動します。「環境変数」セクションまでスクロールダウンします。次のように表示されるはずです:
新しい環境変数 DOCUMENTER_KEY
を追加し、その値を上記のJuliaコマンドの出力に設定します(周囲の引用符は削除してください)。
最後に、「ビルドログに値を表示」をオフのままにしておき、「追加」をクリックしてください。おめでとうございます!プライベートキーをTravisに追加しました。
再度確認しますが、変数の「ビルドログに値を表示」オプションはオフにしておいてください。テストが実行されるときに値が印刷されないようにするためです。このbase64エンコードされた文字列には、リポジトリへの完全な書き込みアクセスを提供する暗号化されていない秘密鍵が含まれているため、安全に保管する必要があります。また、この変数をテストで公開したり、それを含むコードをマージしたりしないようにしてください。Travisの環境変数については、Travis User Documentationを参照してください。
最終的な考察
あなたは今、Hosting Documentationを続けることができるはずです。