# Git по SSH

Вы можете читать и записывать данные в репозиториях на huggingface.co с помощью SSH (Secure Shell Protocol). При подключении по SSH аутентификация выполняется с использованием файла закрытого ключа на вашем локальном компьютере.

Некоторые действия, такие как отправка изменений или клонирование частных репозиториев, потребуют от вас загрузки вашего публичного SSH-ключа в ваш аккаунт на huggingface.co.

Вы можете использовать существующий SSH-ключ или сгенерировать новый, предназначенный специально для huggingface.co.

## Проверка существующих SSH-ключей

Если у вас уже есть SSH-ключ, вы можете использовать его для аутентификации операций Git по SSH.

Ключи SSH обычно находятся в каталоге `~/.ssh` на Mac и Linux, а также в `C:\\Users\\<username>\\.ssh` на Windows. Перечислите файлы в этом каталоге и найдите файлы следующего вида:

- id_rsa.pub
- id_ecdsa.pub
- id_ed25519.pub

Эти файлы содержат ваш открытый SSH-ключ.

Если у вас нет такого файла в `~/.ssh`, вам нужно будет [сгенерировать новый ключ](#generating-a-new-ssh-keypair). В противном случае вы можете [добавить существующие публичные SSH-ключи в ваш аккаунт huggingface.co](#add-a-ssh-key-to-your-account).

## Создание новой пары SSH-ключей

Если на вашем компьютере нет SSH-ключей, вы можете использовать `ssh-keygen` для генерации новой пары SSH-ключей (публичный и приватный ключи):

```
$ ssh-keygen -t ed25519 -C "your.email@example.co"
```

Мы рекомендуем вводить парольную фразу, когда система запрашивает её. Парольная фраза — это дополнительный уровень безопасности: это пароль, который запрашивается каждый раз при использовании вашего SSH-ключа.

После генерации нового ключа добавьте его в ваш SSH-агент с помощью `ssh-add`:

```
$ ssh-add ~/.ssh/id_ed25519
```

Если вы выбрали для хранения SSH-ключа другое расположение, отличное от значения по умолчанию, вам необходимо заменить `~/.ssh/id_ed25519` на путь к файлу, который вы указали.

## Добавьте SSH-ключ в свой аккаунт

Чтобы получить доступ к закрытым репозиториям по SSH или отправлять изменения через SSH, необходимо добавить ваш публичный SSH-ключ в аккаунт huggingface.co. Управлять SSH-ключами можно [в настройках пользователя](https://huggingface.co/settings/keys).

Чтобы добавить SSH-ключ к вашему аккаунту, нажмите кнопку "Add SSH key".

Затем введите имя для этого ключа (например, «Личный компьютер») и скопируйте содержимое вашего **публичного** SSH-ключа, вставив его в область ниже. Публичный ключ находится в файле `~/.ssh/id_XXXX.pub`, который вы нашли или создали на предыдущих шагах.

Нажмите «Add key», и вот — вы добавили SSH-ключ в свой аккаунт huggingface.co.

## Проверка вашей SSH-аутентификации

После того как вы добавите ваш SSH-ключ в аккаунт на huggingface.co, вы можете проверить, что соединение работает как ожидается.

В терминале выполните:
```
$ ssh -T git@hf.co
```

Если вы видите сообщение со своим именем пользователя, поздравляем! Всё прошло успешно, вы готовы использовать git по SSH.

В противном случае, если сообщение содержит текст, похожий на следующий, убедитесь, что ваш SSH-ключ действительно используется вашим SSH-агентом.
```
Hi anonymous, welcome to Hugging Face.
```

## Отпечатки SSH-ключей Hugging Face

Отпечатки открытых ключей можно использовать для проверки соединения с удалённым сервером.

Это отпечатки публичных ключей Hugging Face:

> SHA256:aBG5R7IomF4BSsx/h6tNAUVLhEkkaNGB8Sluyh/Q/qY (ECDSA) SHA256:skgQjK2+RuzvdmHr24IIAJ6uLWQs0TGtEUt3FtzqirQ (DSA - устарело) SHA256:dVjzGIdV7d6cwKIeZiCoRMa2gMvSKfGZAvHf4gMiMao (ED25519) SHA256:uqjYymysBGCXXiMVebB8L8RIuWbPSKGBxQQNhcT5a3Q (RSA)

Вы можете добавить следующие записи ssh-ключей в файл ~/.ssh/known_hosts, чтобы избежать ручной проверки хостов Hugging Face:

```
hf.co ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtPB+snz63eZvTrbMY2Qt39a6HYile89JOum55z3lhIqAqUHxLtXFd+q+ED8izQvyORFPSmFIaPw05rtXo37bm+ixL6wDmvWrHN74oUUWmtrv2MNCLHE5VDb3+Q6MJjjDVIoK5QZIuTStlq0cUbGGxQk7vFZZ2VXdTPqgPjw4hMV7MGp3RFY/+Wy8rIMRv+kRCIwSAOeuaLPT7FzL0zUMDwj/VRjlzC08+srTQHqfoh0RguZiXZQneZKmM75AFhoMbP5x4AW2bVoZam864DSGiEwL8R2jMiyXxL3OuicZteZqll0qfRlNopKnzoxS29eBbXTr++ILqYz1QFqaruUgqSi3MIC9sDYEqh2Q8UxP5+Hh97AnlgWDZC0IhojVmEPNAc7Y2d+ctQl4Bt91Ik4hVf9bU+tqMXgaTrTMXeTURSXRxJEm2zfKQVkqn3vS/zGVnkDS+2b2qlVtrgbGdU/we8Fux5uOAn/dq5GygW/DUlHFw412GtKYDFdWjt3nJCY8=
hf.co ssh-dss AAAAB3NzaC1kc3MAAACBAORXmoE8fn/UTweWy7tCYXZxigmODg71CIvs/haZQN6GYqg0scv8OFgeIQvBmIYMnKNJ7eoo5ZK+fk1yPv8aa9+8jfKXNJmMnObQVyObxFVzB51x8yvtHSSrL4J3z9EAGX9l9b+Fr2+VmVFZ7a90j2kYC+8WzQ9HaCYOlrALzz2VAAAAFQC0RGD5dE5Du2vKoyGsTaG/mO2E5QAAAIAHXRCMYdZij+BYGC9cYn5Oa6ZGW9rmGk98p1Xc4oW+O9E/kvu4pCimS9zZordLAwHHWwOUH6BBtPfdxZamYsBgO8KsXOWugqyXeFcFkEm3c1HK/ysllZ5kM36wI9CUWLedc2vj5JC+xb5CUzhVlGp+Xjn59rGSFiYzIGQC6pVkHgAAAIBve2DugKh3x8qq56sdOH4pVlEDe997ovEg3TUxPPIDMSCROSxSR85fa0aMpxqTndFMNPM81U/+ye4qQC/mr0dpFLBzGuum4u2dEpjQ7B2UyJL9qhs1Ubby5hJ8Z3bmHfOK9/hV8nhyN8gf5uGdrJw6yL0IXCOPr/VDWSUbFrsdeQ==
hf.co ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL0wtM52yIjm8gRecBy2wRyEMqr8ulG0uewT/IQOGz5K0ZPTIy6GIGHsTi8UXBiEzEIznV3asIz2sS7SiQ311tU=
hf.co ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINJjhgtT9FOQrsVSarIoPVI1jFMh3VSHdKfdqp/O776s
```

