Π Π°Π±ΠΎΡΠ° ΠΏΠΎ SSH
ΠΠ»ΡΡΠΈ SSH Π² Git ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Secure Shell (SSH). ΠΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git.
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ
- ΠΠΎΠΌΠ°Π½Π΄Ρ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠΎΠΌΠ°Π½Π΄Π°
catΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²macOS,LinuxΠΈGit Bash, Π½ΠΎ Π½Π΅ Π²cmd.exe. - ΠΠ»Ρ Π½ΠΎΠ²ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ
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.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ°.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π·Π°ΠΏΡΠΎΡ
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. Π’ΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ²ΠΎΠ΅.ΠΡΠ»ΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π½Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠ°ΡΡΠΉ ΠΊΠ»ΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡΡΡΠ΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π·Π°ΠΏΡΠΎΡ
Enter passphrase, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ ΡΡΠ°Π·Ρ ΠΈΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ Π½Π°ΠΆΠΌΠΈΡΠ΅Enter, Π΅ΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π΅ Π·Π°Π΄Π°Π²Π°ΡΡ.ΠΠΎΡΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Ρ Π²Π°Ρ ΠΏΠΎΡΠ²ΡΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°:
- Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ:
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-ΠΊΠ»ΡΡΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° GitVerse.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΡΠΎΡΠΈΠ»Ρ, Π·Π°ΡΠ΅ΠΌ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ»ΡΡΠΈ SSH/GPG Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ SSH ΠΊΠ»ΡΡ.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΠΎΠ±Π°Π²ΠΈΡΡ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ 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.