рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕ -рдкрд╛рд╕рд╡рд░реНрдб рдореИрдиреЗрдЬрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдФрд░ рди рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЯреВрд▓ рдФрд░ рдХрдВрд╕реЛрд▓ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреА рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИред рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, gpg рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреА рдкреАрдврд╝реА рдФрд░ рднрдВрдбрд╛рд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрд╛рд╕, gpg, git, github рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдмреАрдЪ рд╕рд╣рдпреЛрдЧ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдЧреАред рд╕рдм рдХреБрдЫ рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рддрд╣рдд рд╣реИред
рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдкрд╛рд╕ GnuPG рдкрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдмрдВрдзрди рд╣реИ рдФрд░ рдмреИрд╢ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕рд╡рд░реНрдб (рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА, рдЬреИрд╕реЗ рд▓реЙрдЧрд┐рди) рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЦреЛрдЬ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди - GnuPG рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди - git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред
рдореВрд▓ рдкрд╛рд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рджреЛ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓ рд░рд╣реА рд╣реИрдВ:
- QtPass ред рдПрдХ GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, Qt рдореЗрдВред
- рдЧреЛрдкрд╛рд╕ ред рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд╡реЗрджрди рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд, рдореИрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЕрдкрдиреА рд╕рд╣рдЬрддрд╛ рдХреЛ рддреНрдпрд╛рдЧрддреЗ рд╣реБрдП, рд╡рд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдкрд╛рд╕ рдбреЗрд╡рд▓рдкрд░ рдЬреЗрд╕рди рдбреЛрдирдлреЗрд▓реНрдб рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд╛рдпрд░рдЧрд╛рд░реНрдб (рдЖрдзреБрдирд┐рдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдорд╛рдирдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡реАрдкреАрдПрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, "рдУрдкрдирд╡реАрдкреАрдПрди рдФрд░ рдЖрдИрдкреАрдПрд╕рд╕реАрдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд▓рд╛ рдХрд╛ рдХрд╛рдо" рд▓рд┐рдиреБрд╕ рдЯреЙрд░реНрд╡рд╛рд▓реНрдбреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬреЛ рд▓рд┐рдирдХреНрд╕ 5.6 рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ ) рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВред
рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдирд┐рд░реНрдорд╛рдг
GnuPG - рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реАред рдЦрд╛рдорд┐рдпреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, gpg рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд▓реЗрдЦ ) рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ 20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рд┐рдВрдХ рдкрд░ рд▓реЗрдЦ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛ рдирд╛рдо рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдмреНрд░ рдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдХреЗрдбреАрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреАрдкреАрдЬреА рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдпреЛрдкреЗрдЯреНрд░рд╛ рдирд╛рдордХ рдПрдХ рдлреНрд░рдВрдЯрдПрдВрдб рдмрдирд╛рдпрд╛ред рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд╛рдПрдВрдЧреЗ, рдФрд░ gpg4win рдХреНрд▓рд┐рдпреЛрдкреЗрдЯреНрд░рд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
рдореЗрдиреВ рдореЗрдВ, File
- New Key Pair
- Create a personal OpenPGP key pair
ред
рдирд╛рдо рдФрд░ рдИрдореЗрд▓ рджрд░реНрдЬ рдХрд░реЗрдВред рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рджреЗрдВрдЧреЗред GPG рдЖрдкрдХреЛ рдХреБрдВрдЬреА рдореЗрдВ рдирдП рдпреВрдЖрдИрдбреА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдмрдирд╛рдИ рдЧрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЧрд┐рдЯ рд╕рд╛рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд╡рд┐рдкрд░реАрдд "рд╕рддреНрдпрд╛рдкрд┐рдд" рдЪреЗрдХрдмреЙрдХреНрд╕ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдИрдореЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЗ рдЬреАрдердм рдЦрд╛рддреЗ рдореЗрдВ "рдкреБрд╖реНрдЯрд┐" рд╣реИред
рдЕрдЧрд▓рд╛, рдХреБрдВрдЬреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Advanced Settings
рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

Key Material
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, ECDSA/EdDSA
+ ECDH
рдЪрдпрди рдХрд░реЗрдВред рдореИрдВ рдХреНрд▓рд╛рд╕рд┐рдХ рдЖрд░рдПрд╕рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди ed25519 / cv25519 рдЕрдгреНрдбрд╛рдХрд╛рд░ рдШрдЯрддрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЖрд░рдПрд╕рдП рдкрд░ рдЙрдирдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдПрдХ рд╣реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рддрд╛рдХрдд рдХреЗ рд╕рд╛рде рдЫреЛрдЯреЗ рдХреБрдВрдЬреА рдЖрдХрд╛рд░ рд╣реИред рдпрд╣ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ 256-рдмрд┐рдЯ ed25519 рдХреБрдВрдЬреА рд▓рдЧрднрдЧ 3072-рдмрд┐рдЯ рдЖрд░рдПрд╕рдП рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдордЬрдмреВрдд рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд▓рд╛рдн рдЗрд╕рдХреА рдЙрдЪреНрдЪ рд╡реНрдпрд╛рдкрдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВред
рдЖрдк рдореЗрдиреВ рд╕реЗ рдмреНрд░реЗрдирдкреВрд▓ рдФрд░ NIST рд╡рдХреНрд░ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдХрд╛ рднреА рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╛рдж рдореЗрдВ рдПрдирдПрд╕рдП рдХреЗ рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрджреЗрд╣ рд╣реИ, рдФрд░ рдкреВрд░реНрд╡ рдореЗрдВ рднреА рдорд╛рдореВрд▓реА рд╢рд┐рдХрд╛рдпрддреЗрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, ed25519 рдФрд░ cv25519 рдкреНрд░рд╕рд┐рджреНрдз рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд░ рдбреИрдирд┐рдпрд▓ рдмрд░реНрдирд╕реНрдЯреАрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп: рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд╛рдирдХ FIDO U2F (рдЬрд┐рд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ Google рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдерд╛) рдореЗрдВ рдпрд╣ NIST рдШрдЯрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдВрдбреНрд░реЙрдЗрдб рдХреАрд╕реНрдЯреЛрд░ рдХреЛ рдЕрдкрдирд╛ рд╕рдорд░реНрдерди рд╣реИ, рд▓реЗрдХрд┐рди ed25519 рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ?
рдирддреАрдЬрддрди, рдЕрдгреНрдбрд╛рдХрд╛рд░ рд╡рдХреНрд░реЛрдВ рдкрд░ 2 рдЙрдкрдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдЬреАрдкреАрдЬреА рдПрдХ рдЙрдкрдХреБрдВрдЬреА рдХреЛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, libsodium
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдп рд╣реИрдВ)ред
рдпрджрд┐ рдЖрдк рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ Certificate Usage
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, Signing
рдФрд░ Authentication
рдЖрдЗрдЯрдо рдЬрд╛рдВрдЪреЗрдВред
рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреБрдВрдЬреА рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдБрдХрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреИрджрд▓ рд╕реЗрдирд╛ рдХреЗ рд╕рд╛рде рдЙрдирдХреА рдкрд╕рдВрдж рдХреЗ рдХрд░реАрдм рд╣реИред
рдорд╛рд╕реНрдЯрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЬрдирд░реЗрд╢рди
рдмреЗрд╢рдХ, рдЖрдк рд╣рдореЗрд╢рд╛ рдкрд░реНрдпрд╛рдкреНрдд (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 20) рд╡рд░реНрдгреЛрдВ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╛рдж рд░рдЦрдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЦрд╛рд╕рдХрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░ред рдЗрд╕рд▓рд┐рдП, EFF рдЖрдкрдХреЗ рдЧрд╛рдЗрдб рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИред
рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рд╢рдмреНрджрдХреЛрд╢ рд▓реЗрдВ (рдИрдПрдлрдПрдл рдХрдИ рд╢рдмреНрджрдХреЛрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ ) рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 6 рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╢рдмреНрдж рдЪреБрдиреЗрдВред рдЖрдк рдПрдХ рдкрд╛рд╕рд╛ рдпрд╛ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рднреА, рдЖрдк рдХреА рддрд░рд╣ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдбрд╛рдЗрдХреНрд╡реЗрдпрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЕрднреА рддрдХ рдкрд╛рд╕рд╛ рдФрд░ рд╕рд┐рдХреНрдХреЛрдВ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд┐рд░реНрдл GNU рдХреЛрд░реБрдЯрд┐рд▓реНрд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ shuf
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛:
$ shuf --random-source=/dev/random -n 6 ./eff_large_wordlist.txt 51345 rendering 24564 edging 65652 vivacious 31343 footprint 55261 snore 24436 earache
рд╣рдо рдЗрд╕ рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рдкрд░ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдмрдирд╛рдИ рдЬрд╛рдПрдЧреАред рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЕрдм рдЖрдк gpg рдФрд░ git рдХреЗ рдПрдХреАрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Gpg, git рдФрд░ github рдПрдХреАрдХрд░рдг
рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдпрд╣ рдЖрдЗрдЯрдо рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреЛрд░реЗрдЬ рдкрд╛рд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрдк рдХреА рддрд░рд╣ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Google рдбреНрд░рд╛рдЗрд╡, Yandex.Disk, рдЖрджрд┐ред рдЖрджрд┐ рдпрджрд┐ рдЖрдк git рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ Syncthing рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ ред рдпрд╣ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╕реАрдзреЗ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдЯреЛрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдиреНрдпреВрдирддрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ git рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреЛрдИ рднреА Gitea рд▓рдЧрд╛рдХрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕рдорд░реНрдерди рдХреА рд▓рд╛рдЧрдд рдФрд░ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдпрд╣ рдорд╣рд╛рди рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ, Microsoft рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд┐рд░рд╕реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдмрд╕ рдЬреАрдердм рдкрд░ рдПрдХ рдирд┐рдЬреА рднрдВрдбрд╛рд░ рдмрдирд╛рдпрд╛ред
Git рдореЗрдВ рдорд╛рдирдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддрдВрддреНрд░ SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ ssh рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдмрд┐рдирд╛, рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ gpg рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред Spg рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ gpg-key (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдЙрдкрдХреБрдВрдЬреА) рдХреЗ рд▓рд┐рдП рджреЛ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
- рдЗрд╕рдореЗрдВ
A
- рдкреНрд░рдорд╛рдгрд┐рдХ рдзреНрд╡рдЬ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; - рдЗрд╕рдХреА рдХреАрдЧреНрд░рд┐рдк
~/.gnupg/sshcontrol
рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдкрд╣рд▓рд╛ рдЖрдЗрдЯрдо рдкрд╣рд▓реЗ рд╣реА рдкреВрд░рд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдФрд░ рдЖрдк рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреАрдЧрдбреНрд░рд┐рдк рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
gpg --list-secret-keys --with-keygrip 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7
Gpg рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рд╣рдо ed25519 рдЙрдкрдХреБрдВрдЬреА ( 05B6641E23D720E87EE6A26020BAB214B842F2B7
) рдХреА рдХреАрдЧреНрд░реЗрдк рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рдЕрдм рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ github рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ SSH and GPG keys
рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ New SSH key
ред рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣рдо рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ
$ gpg --export-ssh-key 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPfj81nennAoujvw1fLzGx9iED34zk5oDMYKuUcBq5wv openpgp:0x54068AC7
рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ ssh рдХреБрдВрдЬреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред
Git gpg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд┐рдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ github рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА gpg рдХрдорд╛рдВрдб рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ
$ gpg --export --armor 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 -----BEGIN PGP PUBLIC KEY BLOCK----- mDMEXcrHrBYJKwYBBAHaRw8BAQdA9+PzWd6ecCi6O/DV8vMbH2IQPfjOTmgMxgq5 RwGrnC+0G0hlbGxvIEhhYnIgPGZha2VAZW1haWwuY29tPoiQBBMWCAA4BQsJCAcC BhUKCQgLAgQWAgMBAh4BAheAFiEEBgnJ3+8aorON7brcwFRLVVQGiscFAl3WO2wC GyMACgkQwFRLVVQGiscg5AEAkh0a6OQS2CPiXq9bWB+wULHUGT6NYZhwZ3eUQCfH Zq0A/iFBJQkAZIFdqH84ksFbvv6K/LQy72NRJzK0tho6qFwHuDgEXcrHrBIKKwYB BAGXVQEFAQEHQEs6UVOtj5yMGxvRcMU577miH/Bh5kZWMJKHxsDBcXV4AwEIB4h4 BBgWCAAgFiEEBgnJ3+8aorON7brcwFRLVVQGiscFAl3Kx6wCGwwACgkQwFRLVVQG isea8wD/X5JSJW0PMu/KucytUZZo8obHa86/TUwH/8+xQ3+djuEBALugbQRmCIr5 /JYO7x5PNA0QYqhh7LIZ9nKYp0mhqpcO =dc89 -----END PGP PUBLIC KEY BLOCK-----
рдФрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдХрд┐ New GPG key
рдлреЙрд░реНрдо рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖред
рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЖрдкрдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред
Gpg рдФрд░ git (рд▓рд╛рдЗрдирдХреНрд╕) рдХрд╛ рдПрдХреАрдХрд░рдг
GSS рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ OpenSSH рдХреНрд▓рд╛рдЗрдВрдЯ рджреЛ рддрд░рд╣ рд╕реЗ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ: ~/.ssh
рдФрд░ ssh-agent
рдбреЗрдореЙрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╕реЙрдХреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдмрд╛рдж рд╡рд╛рд▓рд╛ gpg-agent
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ ~/.gnupg/gpg-agent.conf
рдЖрдкрдХреЛ рд▓рд╛рдЗрди enable-ssh-support
рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде gpg- рдПрдЬреЗрдВрдЯ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
gpg-connect-agent reloadagent /bye
рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рдПрдХ рд╕реЙрдХреЗрдЯ рдмрдирд╛рдПрдЧрд╛
${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh
рдпрд╣ рдкрде (рдпрд╣ рд╡рд┐рддрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ $SSH_AUTH_SOCK
рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ ssh рдЗрд╕реЗ $SSH_AUTH_SOCK
ред рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ
ssh -T git@github.com
рдФрд░ рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛, рддреЛ рдорд╛рд╕реНрдЯрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдлрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
Gpg рдФрд░ git (Windows) рдХрд╛ рдПрдХреАрдХрд░рдг
рд╣рд╛рд▓ рд╣реА рдореЗрдВ, Microsoft рдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╡рд┐рдВрдбреЛрдЬ рдШрдЯрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛, рдФрд░ AF_UNIX
рдЬреИрд╕реЗ AF_UNIX
рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрд┐ SSH_AUTH_SOCK
ред рд╣рд╛рд▓рд╛рдБрдХрд┐, Win32-OpenSSH gpg4win рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдХреЗрд╡рд▓ рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рджрд╛рдмрд╣рд╛рд░ рдкреЛрдЯреАрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдлрд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
~/AppData/Roaming/gnupg/gpg-agent.conf
enable-putty-support
рдФрд░ рдЬреАрдкреАрдЬреА-рдПрдЬреЗрдВрдЯ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╡рд╣ рдкреЗрдЬреЗрдВрдЯ рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ - рдЪрд╛рдмрд┐рдпреЛрдВ рдХрд╛ рджрд╛рдирд╡ред sshcontrol
рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЧрд┐рдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреЛрдЯреАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ GIT_SSH
рдХреЗ рдкрде рдХреЗ рд╕рд╛рде GIT_SSH
рд╡рд╛рддрд╛рд╡рд░рдг GIT_SSH
plink.exe
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ
C:\ProgramData\chocolatey\bin\PLINK.EXE
рд╡реИрд╕реЗ рдЧрд┐рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред git for windows
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ git for windows
рдЖрдорддреМрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд git for windows
рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ (рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЕрдирд╛рд╡рд╢реНрдпрдХ) рд╣реЛрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХрд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓рд╛рдЗрдЯрд░ рд╡рд░реНрдЬрди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЬреАрдердм рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2 рдмрд╛рд░ рдЫреЛрдЯрд╛ рдорд┐рдЧрд┐рдЯ рд╣реИ, рдФрд░ рдЬреЛрдЦрд┐рдо рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдорд┐рдирд┐рдЯ-рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред MS322 рдЬреИрд╕реА рдкрд░рддреЛрдВ рдХреЗ рдмрд┐рдирд╛ Win32 рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ git рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг рд╡реНрдпрд╕реНрдд рд╕рдВрд╕реНрдХрд░рдг рдЙрддреНрдкрдиреНрди рд╣реБрдЖред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдорд┐рдВрдЧрд┐рдЯ-рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреАрдбрд╝реЗ рд╣реИрдВред рдЖрдк рдЯрд┐рдХрдЯ рдореЗрдВ рдЗрди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ gpg- рдПрдЬреЗрдВрдЯ рдЪрд▓ рд░рд╣рд╛ рд╣реИ ( gpg-connect-agent /bye
) рдФрд░ github рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
plink git@github.com
рдЧрд┐рдЯ рд╕реЗрдЯрдЕрдк
рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджреЗрд╢ рдмрд┐рдирд╛ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рджрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
git config --global user.name "Hello Habr" git config --global user.email fake@email.com git config --global user.signingKey 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 git config --global gpg.program /usr/bin/gpg git config --global commit.gpgSign true
рдЕрдЧрд░ gpg.program
PATH
рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ gpg.program
рдЖрдЗрдЯрдо gpg.program
рдЬрд░реВрд░рдд рд╣реИред
рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдмреИрдХрдЕрдк
рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмрд╛рд╣рд░, рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдмрд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкрд╣рдЪрд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХреАрдмреЛрд░реНрдб рд╕реЗ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рджрд┐рд▓ рдХреЗ рдмреЗрд╣реЛрд╢ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рдХреНрдпреВрдЖрд░ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рд╕рд╛рде рд╕реНрдХреИрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ qrencode
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рдПрдХ QR рдХреЛрдб рдЫрд╡рд┐ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ:
gpg --export-secret-key 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 | qrencode --8bit --output secret-key.qr.png
рдмреЗрд╢рдХ, рдмреИрдХрдЕрдк рдореЗрдВ рдХрдо рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА, рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣рд╛рдВ, рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдХреБрдВрдЬреА рдЖрдХрд╛рд░ ed25519 рд╣реИред рдбреИрдирд┐рдпрд▓ рдмрд░реНрдирд╕реНрдЯреАрди рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреЗрдкрд░рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдорд╛ рддрдХ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдХрдЯреМрддреА рдХреА рдХреАрдордд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреИрдХрдЕрдк рд╕реЗ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЗрд╡рд▓ рддрднреА рдмрд╣рд╛рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬрдм рдХреЛрдИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛред GPG рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рди рдХреЗрд╡рд▓ рд▓реЗрдЦ рдореЗрдВ https://eax.me/gpg/ ред
рдПрдХ рдкреЗрдкрд░рдХреА рдмреИрдХрдЕрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
gpg --export-key 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 > pubkey.asc gpg --export-secret-key 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7 | paperkey --output-type raw | qrencode --8bit --output secret-key.qr.png
рдмреИрдХрдЕрдк рдХрд╛ рджреВрд╕рд░рд╛ рдирд┐рдпрдо: рдмреИрдХрдЕрдк рддрдм рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рди рд╣реЛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
gpg --delete-secret-key 0609C9DFEF1AA2B38DEDBADCC0544B5554068AC7
рдлрд┐рд░ рд╣рдо QR рдХреЛрдб рдХреЛ рд╕реНрдХреИрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдВрдЬреА рдХреЛ GPG рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрдпреВрдЖрд░ рдХреЛрдб рд╕реНрдХреИрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдмрд╛рдЗрдирд░реАрдПрдИ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ , рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдореБрдлреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ - рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХрд╛ рдмреИрдХрдЕрдкред
paperkey --pubring pubkey.asc --secrets from_qr.asc > secretkey.asc gpg --import ./secretkey.asc
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдХреЗрд╡рд▓ рджреГрд╖реНрдЯрд╛рдВрдд рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
(рдЧреЛ) рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд┐рдЬреА рдХреБрдВрдЬреА рд╣реИ, рд╕рд╛рде рд╣реА рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХреАрдХрд░рдг рд╣реИ, рддреЛ рд╣рдо рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЧреЛрдкрд╛рд╕ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдВрдзрди рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ
gopass init
рдФрд░ рд╕реВрдЪреА рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдпрдорд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ (go)pass
рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
gopass git init gopass git remote add origin git@github.com:xxx/taisho-secrets.git
рдкрддрд╛ Clone or download
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЬреАрдердм рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдЬ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЧреЛрдкрд╛рд╕ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рди рд╣реИ
gopass sync
git pull
рдФрд░ git push
рджреЛрдиреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди, рдпрд╛рдиреА рдкреВрд░реНрдг рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдиред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрдВрдбрд╛рд░рдг ~/.password-store
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реЛрд▓ ls, cp, mv, search, create, рдЖрджрд┐ рдХрдорд╛рдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдкреВрд░реА рд╕реВрдЪреА gopass --help
рд▓рд┐рдЦрдХрд░ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди 95% рд╕рдордпред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХреАрдХрд░рдг
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЧреЛрдкрд╛рд╕ рдмреНрд░рд┐рдЬ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реНрдЯреЛрд░ (рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ) рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЦреБрдж рдХреЛ рдЧреЛрдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧрдЗрди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рджреЗрд╢реА рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ред рд╡реЗ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред
gopass jsonapi configure
рдЬреЛ рд╣рдореЗрдВ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕реНрдерд╛рди рдЪреБрдирдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛ред
рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рдПрдБ:
gopass new habr
рд╣рдо рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдмрдЪрд╛рддреЗ рд╣реИрдВред рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GPG рдЖрдкрдХреЛ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗрдЧрд╛ред
рдЕрдм рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреАрд▓реЗ рдЧреЛрдлрд░ рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧрдЗрди рдХреЗ рдореЗрдиреВ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рддреЛ рд╣рдо рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
TOTP рдХреБрдВрдЬреА
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ FreeOTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ , рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореВрд▓ рдкрд╛рд╕ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд╛рд╕- рдУрдЯреАрдкреА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЧреЛрдкрд╛рд╕ рдФрд░ рдПрдкреАрдПрд╕ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред
рдкрд╛рд╕- otpauth://
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреЛрд░ рдореЗрдВ рдПрдХ рдЯреАрдУрдЯреАрдкреА рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ URL рдорд┐рд▓рддрд╛ рд╣реИ ( otpauth://
рд╕рд╛рде рд╢реБрд░реВ otpauth://
) рдФрд░ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ
pass otp insert totp-secret
рдЪрд╛рд╣реЗ рдкрд░рд┐рдгрд╛рдореА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЯреВ-рдлреИрдХреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдореНрдпреВрдЯ рдкреЙрдЗрдВрдЯ рд╣реИред KeePassXC рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рдЕрд▓рдЧ рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЯреАрдУрдЯреАрдкреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдкрд╛рд╕ рдореЗрдВ, рдпрд╣ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Android рдПрдХреАрдХрд░рдг
Android рдХреЗ рд▓рд┐рдП GnuPG рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ OpenKeychain рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ "рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрди" рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреЛ рдЖрдпрд╛рдд рдХрд░реЗрдВред рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ OpenKeychain рдХрд╛ рдПрдХрдорд╛рддреНрд░ рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдЕрдирд▓реЙрдХ рдирд╣реАрдВ рд╣реИред
рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб -рдкрд╛рд╕рд╡рд░реНрдб-рд╕реНрдЯреЛрд░ рдпрд╛ рдмрд╕ рдПрдкреАрдПрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдкреАрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣рдг рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, "рд╕реЗрдЯрд┐рдВрдЧ" рдореЗрдиреВ рдкрд░ рдЬрд╛рдПрдВред рд╡рд╣рд╛рдВ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
git
ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк URL рдЬреАрдердм рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреЗрдЬ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдкреНрд░рдХрд╛рд░ - OpenKeychain
редGit utils
ред рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, gpg рдХреБрдВрдЬреА рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдИрдореЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВредOpenPGP
ред OpenKeychain
рдЪрдпрди рдХрд░реЗрдВред
ред рдЗрд╕ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдлреАрдЪрд░ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб 8.0+ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рднрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
Huawei рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рдФрд░ рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП рднреА рдзреНрдпрд╛рди рджреЗрдВ: OpenKeychain, APS, BinaryEye, FreeOTP, рд╕рд╛рде рд╣реА рд╕рд╛рде Syncthing, Telegram, Tachiyomi, KDE Connect рдФрд░ рдмрд╣реБрдд рдХреБрдЫ F-Droid рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред Google Play рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП: рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреИрдЯрд▓реЙрдЧ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рд╣реИ, рд░реВрдЯрдХрд┐рдЯреНрд╕ , рдпрд╛ рдкреНрд░рд╕рд┐рджреНрдз рдЯреЙрдиреНрд╕рдХреА рд▓реЗрдЦ рд╕реЗ рдмрд╕ рдЬрдВрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ред
рдПрдкреАрдПрд╕ рдореЗрдВ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдХреАрдкрд╕ 2android рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣ рдореВрд▓ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП F-Droid рдореЗрдВ рдирд╣реАрдВ рд╣реИ: рдпрд╣ Xamarin рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди F-Droid рдЕрдиреБрдЪрд░ рдЕрднреА 9 рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ ред рдХреЛрдИ рдХреБрдЫ рдХрд░реЗред
рдЕрдм рдЖрдк рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдкрд░, "рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓реЛрди" рдЪреБрдиреЗрдВ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд╛рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЧрд┐рдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
рдпрджрд┐ рдЧрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рд╢рд╛рдпрдж рдПрдкреАрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА jgit
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдПрдкреАрдПрд╕ рдХреА рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдерд╛), рддреЛ рдЕрднреА рднреА рд╕рд┐рдВрдХреНрдерд┐рдВрдЧ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдмреЗрд╢рдХ, рдкрд╛рд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдХреАрдордд рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЙрдкрдХрд░рдг (рд╕рд╛рде рд╣реА рд╕рд╛рде рд▓рд┐рдиреБрд╕ рдЯреЙрд░реНрд╡рд╛рд▓реНрдбреНрд╕ рдпрд╛ рдПрдбрд╡рд░реНрдб рд╕реНрдиреЛрдбреЗрди рдЬреИрд╕реЗ рд▓реЛрдЧ) рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдкреБрд░рд╛рдиреЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗ, рдФрд░ рдмрд┐рдирд╛ рд╕рдорд░реНрдерди рдХреЗ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдФрд░ рдЕрдЧрд░ рд╡реЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рд╕ рдХреА рд╕рд░рд▓ рдореЙрдбреНрдпреВрд▓рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд┐рд╕реА рднреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдЖрдк рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗред