Π Π°Π±ΠΎΡ‚Π° ΠΏΠΎ SSH

ΠšΠ»ΡŽΡ‡ΠΈ SSH Π² Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ доступС ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСрам Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Secure Shell (SSH). Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ бСзопасный способ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ вашим ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ сСрвСром, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ

  1. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ зависят ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Команда cat Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² macOS, Linux ΠΈ Git Bash, Π½ΠΎ Π½Π΅ Π² cmd.exe.
  2. Для Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ рСкомСндуСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ed25519. Если ΠΎΠ½ Π½Π΅ поддСрТиваСтся старой систСмой, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ rsa.
⚠️

Если Π² cmd.exe Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΈΠ΄Π° 'cat' Π½Π΅ являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ внСшнСй ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ запустили ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ для bash-совмСстимого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π² классичСской ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows. Для cmd.exe ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ type, для PowerShell β€” Get-Content.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас ΡƒΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ .ssh ΠΈ готовая ΠΏΠ°Ρ€Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ls -al ~/.ssh

Если Π² спискС ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ id_ed25519 ΠΈ id_ed25519.pub ΠΈΠ»ΠΈ id_rsa ΠΈ id_rsa.pub, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ SSH-ΠΊΠ»ΡŽΡ‡Π°

РСкомСндуСмая ΠΊΠΎΠΌΠ°Π½Π΄Π° для всСх ОБ:

ssh-keygen -t ed25519 -C "your_email@example.com"

Если ed25519 Π½Π΅ поддСрТиваСтся вашСй систСмой, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ RSA:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Π³Π΄Π΅:

  • ssh-keygen β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ;
  • -t ed25519 β€” Ρ‚ΠΈΠΏ ΠΊΠ»ΡŽΡ‡Π°;
  • -b 4096 β€” Π΄Π»ΠΈΠ½Π° RSA-ΠΊΠ»ΡŽΡ‡Π°;
  • -C "your_email@example.com" β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ email.
  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ создания ΠΊΠ»ΡŽΡ‡Π°.

  2. Когда появится запрос Enter file in which to save the key, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π² стандартный ΠΏΡƒΡ‚ΡŒ:

    • C:\Users\<your_username>\.ssh\id_ed25519 Π² Windows;
    • /Users/<your_username>/.ssh/id_ed25519 Π² macOS;
    • /home/<your_username>/.ssh/id_ed25519 Π² Linux.

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для GitVerse, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ своС имя Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ gitverse_ed25519. Π’ΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π° Π½Π° своС.

    Если Π² этом мСстС систСма сообщаСт, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ сущСствуСт, Π½Π΅ пСрСзаписывайтС старый ΠΊΠ»ΡŽΡ‡ Π±Π΅Π· нСобходимости. Π›ΡƒΡ‡ΡˆΠ΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°.

  3. Когда появится запрос Enter passphrase, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Ρ„Ρ€Π°Π·Ρƒ ΠΈΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter, Ссли Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΅Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ.

  4. ПослС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρƒ вас появятся Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°:

    • Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡: id_ed25519;
    • ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡: id_ed25519.pub.

Π“Π΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π»Π΅ΠΆΠ°Ρ‚ SSH-ΠΊΠ»ΡŽΡ‡ΠΈ

  • Π² Windows: C:\Users\<your_username>\.ssh;
  • Π² macOS: /Users/<your_username>/.ssh;
  • Π² Linux: /home/<your_username>/.ssh.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ SSH-ΠΊΠ»ΡŽΡ‡Π°

Для добавлСния ΠΊΠ»ΡŽΡ‡Π° Π² GitVerse Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° .pub.

SSH-ΠΊΠ»ΡŽΡ‡ состоит ΠΈΠ· Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²: Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ. Π’ GitVerse добавляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ β€” Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .pub. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

cat ~/.ssh/id_ed25519.pub

Если Π²Ρ‹ создали ΠΊΠ»ΡŽΡ‡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ id_ed25519.pub Π½Π° имя своСго Ρ„Π°ΠΉΠ»Π°.

Если Π²Π°ΠΌ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .pub Π² любом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ скопируйтС Π΅Π³ΠΎ содСрТимоС ΠΎΡ‚Ρ‚ΡƒΠ΄Π°.

⚠️

Π’ GitVerse Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ содСрТимоС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° .pub. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .pub ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ нСльзя.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ SSH-ΠΊΠ»ΡŽΡ‡Π° Π² настройках ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ содСрТимоС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° GitVerse.

  3. НаТмитС Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ профиля, Π·Π°Ρ‚Π΅ΠΌ Настройки.

  4. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠšΠ»ΡŽΡ‡ΠΈ SSH/GPG Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ SSH ΠΊΠ»ΡŽΡ‡.

  5. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ содСрТимоС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

  6. НаТмитС Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ локального рСпозитория ΠΏΠΎ SSH

Если Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ HTTPS, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ URL ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория:

git remote set-url origin git@gitverse.ru:<username>/<repository_name>.git

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ URL обновился:

git remote -v

Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ HTTPS-адрСс, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ SSH ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ URL:

git remote set-url --add origin git@gitverse.ru:<username>/<repository_name>.git

ПослС этого Git смоТСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ для origin нСсколько URL. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΏΠΎ синтаксису ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git remote set-url --add ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Git.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ SSH-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° сСрвСра GitVerse. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Π³ΠΎ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ ΠžΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ GitVerse.

Π’Ρ‹ нашли Ρ‡Ρ‚ΠΎ искали?