%p=_('Are you sure you want to regenerate the public key? You will have to update the public key on the remote server before mirroring will work again.')
@@ -135,23 +135,25 @@ If the mirror updates successfully, it will be enqueued once again with a small
...
@@ -135,23 +135,25 @@ If the mirror updates successfully, it will be enqueued once again with a small
If the mirror fails (for example, a branch diverged from upstream), the project's backoff period is
If the mirror fails (for example, a branch diverged from upstream), the project's backoff period is
increased each time it fails, up to a maximum amount of time.
increased each time it fails, up to a maximum amount of time.
### SSH authentication **[STARTER]**
### SSH authentication
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2551) in [GitLab Starter](https://about.gitlab.com/pricing/) 9.5.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2551) for Push mirroring in [GitLab Starter](https://about.gitlab.com/pricing/) 9.5.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22982) for Pull mirroring in [GitLab Core](https://about.gitlab.com/pricing/) 11.6
SSH authentication is mutual:
SSH authentication is mutual:
- You have to prove to the server that you're allowed to access the repository.
- You have to prove to the server that you're allowed to access the repository.
- The server also has to prove to *you* that it's who it claims to be.
- The server also has to prove to *you* that it's who it claims to be.
You provide your credentials as a password or public key. The server that the source repository
You provide your credentials as a password or public key. The server that the
resides on provides its credentials as a "host key", the fingerprint of which needs to be verified manually.
other repository resides on provides its credentials as a "host key", the
fingerprint of which needs to be verified manually.
If you're mirroring over SSH (that is, using an `ssh://` URL), you can authenticate using:
If you're mirroring over SSH (that is, using an `ssh://` URL), you can authenticate using:
- Password-based authentication, just as over HTTPS.
- Password-based authentication, just as over HTTPS.
- Public key authentication. This is often more secure than password authentication, especially when
- Public key authentication. This is often more secure than password authentication,
the source repository supports [Deploy Keys](../ssh/README.md#deploy-keys).
especially when the other repository supports [Deploy Keys](../ssh/README.md#deploy-keys).
To get started:
To get started:
...
@@ -171,9 +173,9 @@ If you click the:
...
@@ -171,9 +173,9 @@ If you click the:
-**Detect host keys** button, GitLab will fetch the host keys from the server and display the fingerprints.
-**Detect host keys** button, GitLab will fetch the host keys from the server and display the fingerprints.
-**Input host keys manually** button, a field is displayed where you can paste in host keys.
-**Input host keys manually** button, a field is displayed where you can paste in host keys.
You now need to verify that the fingerprints are those you expect. GitLab.com
Assuming you used the former, you now need to verify that the fingerprints are
and other code hosting sites publish their fingerprints in the open for you
those you expect. GitLab.com and other code hosting sites publish their
You may need to exclude `-E md5` for some older versions of SSH.
You may need to exclude `-E md5` for some older versions of SSH.
When pulling changes from the source repository, GitLab will now check that at least one of the stored
When mirroring the repository, GitLab will now check that at least one of the
host keys matches before connecting. This can prevent malicious code from being injected into your
stored host keys matches before connecting. This can prevent malicious code from
mirror, or your password being stolen.
being injected into your mirror, or your password being stolen.
### SSH public key authentication
### SSH public key authentication
To use SSH public key authentication, you'll also need to choose that option from the **Authentication method**
To use SSH public key authentication, you'll also need to choose that option
dropdown. GitLab will generate a 4096-bit RSA key and display the public component of that key to you.
from the **Authentication method** dropdown. GitLab will generate a 4096-bit RSA
key and display the public component of that key to you.
You then need to add the public SSH key to the source repository configuration. If:
You then need to add the public SSH key to the other repository's configuration:
- The source is hosted on GitLab, you should add the public SSH key as a [Deploy Key](../ssh/README.md#deploy-keys).
- If the other repository is hosted on GitLab, you should add the public SSH key
- The source is hosted elsewhere, you may need to add the key to your user's `authorized_keys` file.
as a [Deploy Key](../ssh/README.md#deploy-keys).
Paste the entire public SSH key into the file on its own line and save it.
- If the other repository is hosted elsewhere, you may need to add the key to
your user's `authorized_keys` file. Paste the entire public SSH key into the
file on its own line and save it.
Once the public key is set up on the source repository, click the **Mirror repository** button and
If you need to change the key at any time, you can remove and re-add the mirror
your mirror will begin working.
to generate a new key. You'll have to update the other repository with the new
key to keep the mirror running.
If you need to change the key at any time, you can click the **Regenerate key** button to do so. You'll have to update the source repository with the new key to keep the mirror running.
msgid "Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication"
msgid "Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication"
msgstr ""
msgstr ""
msgid "An SSH key will be automatically generated when the form is submitted. For more information, please refer to the documentation."
msgstr ""
msgid "An application called %{link_to_client} is requesting access to your GitLab account."
msgid "An application called %{link_to_client} is requesting access to your GitLab account."
msgstr ""
msgstr ""
...
@@ -531,6 +534,9 @@ msgstr ""
...
@@ -531,6 +534,9 @@ msgstr ""
msgid "An error occurred when toggling the notification subscription"
msgid "An error occurred when toggling the notification subscription"
msgstr ""
msgstr ""
msgid "An error occurred while detecting host keys"
msgstr ""
msgid "An error occurred while dismissing the alert. Refresh the page and try again."
msgid "An error occurred while dismissing the alert. Refresh the page and try again."
msgstr ""
msgstr ""
...
@@ -645,6 +651,9 @@ msgstr ""
...
@@ -645,6 +651,9 @@ msgstr ""
msgid "Are you sure you want to lose unsaved changes?"
msgid "Are you sure you want to lose unsaved changes?"
msgstr ""
msgstr ""
msgid "Are you sure you want to regenerate the public key? You will have to update the public key on the remote server before mirroring will work again."
msgstr ""
msgid "Are you sure you want to remove %{group_name}?"
msgid "Are you sure you want to remove %{group_name}?"
msgstr ""
msgstr ""
...
@@ -1992,6 +2001,12 @@ msgstr ""
...
@@ -1992,6 +2001,12 @@ msgstr ""
msgid "Copy SSH clone URL"
msgid "Copy SSH clone URL"
msgstr ""
msgstr ""
msgid "Copy SSH public key"
msgstr ""
msgid "Copy SSH public key to clipboard"
msgstr ""
msgid "Copy URL to clipboard"
msgid "Copy URL to clipboard"
msgstr ""
msgstr ""
...
@@ -2393,6 +2408,9 @@ msgstr ""
...
@@ -2393,6 +2408,9 @@ msgstr ""
msgid "Details"
msgid "Details"
msgstr ""
msgstr ""
msgid "Detect host keys"
msgstr ""
msgid "Diff content limits"
msgid "Diff content limits"
msgstr ""
msgstr ""
...
@@ -2870,6 +2888,9 @@ msgstr ""
...
@@ -2870,6 +2888,9 @@ msgstr ""
msgid "Find the newly extracted <code>Takeout/Google Code Project Hosting/GoogleCodeProjectHosting.json</code> file."
msgid "Find the newly extracted <code>Takeout/Google Code Project Hosting/GoogleCodeProjectHosting.json</code> file."
msgstr ""
msgstr ""
msgid "Fingerprints"
msgstr ""
msgid "Finished"
msgid "Finished"
msgstr ""
msgstr ""
...
@@ -3215,6 +3236,12 @@ msgstr ""
...
@@ -3215,6 +3236,12 @@ msgstr ""
msgid "Help page text and support page url."
msgid "Help page text and support page url."
msgstr ""
msgstr ""
msgid "Here is the public SSH key that needs to be added to the remote server. For more information, please refer to the documentation."
msgstr ""
msgid "Hide host keys manual input"
msgstr ""
msgid "Hide payload"
msgid "Hide payload"
msgstr ""
msgstr ""
...
@@ -3379,6 +3406,9 @@ msgstr ""
...
@@ -3379,6 +3406,9 @@ msgstr ""
msgid "Inline"
msgid "Inline"
msgstr ""
msgstr ""
msgid "Input host keys manually"
msgstr ""
msgid "Input your repository URL"
msgid "Input your repository URL"
msgstr ""
msgstr ""
...
@@ -5150,6 +5180,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
...
@@ -5150,6 +5180,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."