SSH Deploy Keys Walkthrough

Authentication: SSH Deploy Keysの指示がうまくいかなかった場合(例えば、ssh-keygenがインストールされていないなど)、心配しないでください!この手順では、プロセスを案内します。主なステップは3つあります:

  1. Generating an SSH Key
  2. Adding the Public Key to GitHub or Gitea such as Codeberg
  3. 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

github-add-deploy-key

Gitea

gitea-codeberg-add-deploy-key

今、私たちは3つの情報を埋める必要があります。

  1. 「タイトル」を「ドキュメンター」としてください。
  2. 生成した公開鍵を「Key」または「Content」フィールドにコピーして貼り付けてください。
  3. 「書き込みアクセスを許可」ボックスがチェックされていることを確認してください。

完了したら、「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に追加しました。

Security warning

再度確認しますが、変数の「ビルドログに値を表示」オプションはオフにしておいてください。テストが実行されるときに値が印刷されないようにするためです。このbase64エンコードされた文字列には、リポジトリへの完全な書き込みアクセスを提供する暗号化されていない秘密鍵が含まれているため、安全に保管する必要があります。また、この変数をテストで公開したり、それを含むコードをマージしたりしないようにしてください。Travisの環境変数については、Travis User Documentationを参照してください。


最終的な考察

あなたは今、Hosting Documentationを続けることができるはずです。