πŸ” ПодписаниС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ Π½Π° GitHub

git подписаниС GPG

ΠœΡ‹ рассмотрим подписаниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ Ρ‚Π΅Π³ΠΎΠ² ΠΊΠ»ΡŽΡ‡ΠΎΠΌ GPG, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ GPG Π½Π° сСрвСр ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°

НСподписанный ΠΊΠΎΠΌΠΌΠΈΡ‚:

gitΒ commitΒ -mΒ "UnsignedΒ commit"
gitΒ log

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

Если ваши адрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ git ΠΈ gpg-ΠΊΠ»ΡŽΡ‡Π° ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ настроитС свой git signingkey

gitΒ commitΒ -SΒ -mΒ "SignedΒ commit"
gitΒ logΒ --show-signature

НСподписанный Ρ‚Π΅Π³:

gitΒ tagΒ lightweight-tag
gitΒ showΒ lightweight-tag
gitΒ tagΒ -amΒ ""Β unsigned-annotated-tag
gitΒ showΒ unsigned-annotated-tag

ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³:

gitΒ tagΒ -smΒ ""Β signed-tag
gitΒ showΒ signed-tag

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ автоподписания:

gitΒ commitΒ --no-gpg-signΒ -mΒ "UnsignedΒ commit"
gitΒ tagΒ --no-signΒ unsigned-lightweight-tag

Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° GPG Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с сСрвСра ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

Π‘ сСрСдины 2021 Π³ΠΎΠ΄Π° стандартный сСрвСр ΠΊΠ»ΡŽΡ‡Π΅ΠΉ gpg Π±Ρ‹Π» ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΎΡ‚ сСти, Π΅ΡΡ‚ΡŒ нСсколько, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π½Π° основС https://en.wikipedia.org/wiki/Key_server_(cryptographic).

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ keyserver.ubuntu.com Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Он обновляСтся довольно быстро ΠΈ вряд Π»ΠΈ исчСзнСт.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ –keyserver keyserver.ubuntu.com Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰ΡƒΡŽΡΡ ΠΊ сСрвСру ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ наш ~/.gnupg/gpg.conf, найдя Π½Π΅ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку keyserver hkp://keys.gnupg.net ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π΅ Π½Π° keyserver hkp://keyserver.ubuntu.com.

ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± использовании ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сСрвСра ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ gpg.

ИзмСнСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° вступаСт Π² силу сразу.

Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚.

gpgΒ --search-keysΒ itsecforu@gmail.com
gpgΒ --recv-keysΒ D2AD01A3FC57C925
ΠŸΡ€ΠΈΒ ΠΆΠ΅Π»Π°Π½ΠΈΠΈΒ ΠΌΠΎΠΆΠ½ΠΎΒ ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒΒ ΠΊΠ»ΡŽΡ‡.
gpgΒ --delete-keysΒ itsecforu@gmail.com

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ GPG Π½Π° сСрвСр ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

gpgΒ --list-keysΒ --keyid-formatΒ LONGΒ 
gpgΒ --send-keysΒ 

Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° мСняСтС свой ΠΊΠ»ΡŽΡ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, обновляСтС Π΄Π°Ρ‚Ρƒ Π΅Π³ΠΎ истСчСния.

 

Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° GPG Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

ΠŸΡƒΡΡ‚ΡŒ ΠΎΠ½ΠΈ выполнят это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ GPG ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π°ΠΌ.

gpgΒ —exportΒ —armorΒ —outΒ theirname.gpg.pubΒ <их адрСс элСктронной почты GPG>

 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

[/simterm] $ gpg –import theirname.gpg.pub[/simterm]

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подписСй ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git

Β ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ свой .gitconfig для автоподписания ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

gitΒ checkoutΒ -bΒ feaure-something
touchΒ somefileΒ &&Β gitΒ addΒ -AΒ &&Β gitΒ commitΒ -mΒ β€œHelloΒ world”
gitΒ checkoutΒ master
gitΒ mergeΒ --verify-signaturesΒ feature-something

На GitHub Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² настройки settings -> branches -> branch protection rules, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ подписанных ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π΅Ρ‚ΠΊΠ°Ρ….

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ смоТСтС ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ соблюдСниС этого ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ pr Π² GitHub.

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ сдСлаСтС всС Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° GitHub, Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС участников, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ созданиС ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ GPG Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… усилий.

МногиС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚.

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *