์„ธ๋ฒŒ์‹

ํ‚ค๋ณด๋“œ์™€ ์žํŒ ๋ฐฐ์—ด์— ๊ด€์‹ฌ์„ ๊ฐ–๊ฒŒ๋œ ์ด์œ : ์†๋ชฉ ํ„ฐ๋„ ์ฆํ›„๊ตฐ, ์˜ค์‹ญ๊ฒฌ, ๋Šฅ๋ฅ  ์•ž์œผ๋กœ ํ•œ๊ธ€๊ณผ ์˜๋ฌธ์— ๋Œ€ํ•ด ์กฐ๊ธˆ์”ฉ ์กฐ์‚ฌํ•˜๊ณ  ์—ฐ๊ตฌํ•  ์ƒ๊ฐ์ด๋‹ค. Intro ์ข€ ๋” ํŽธ์•ˆํ•˜๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ์žํŒ ์ž…๋ ฅ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ๋ณด์•˜๋‹ค. ๊ณผ๊ฑฐ 10์—ฌ๋…„ ์ „์— ์‹œ๋„๋ฅผ ํ•œ ์ ์ด ์žˆ์œผ๋‚˜ ๋ช‡ ๋ฒˆ ํ•ด๋ณด๊ณ  ํ์ง€๋ธŒ์ง€ ๋˜์–ด ๋ฒ„๋ ธ๋‹ค. ์„ธ๋ฒŒ์‹์ด ์ข‹์€ ์ด์œ : ๋น ๋ฅด๋‹ค, ํŽธ์•ˆํ•˜๋‹ค. ์˜คํƒ€๊ฐ€ ๋œ ๋‚œ๋‹ค. ์ข…๋ฅ˜๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ์„ธ๋ฒŒ์‹ 390, ์„ธ๋ฒŒ์‹ ์ตœ์ข…์˜ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ๋Š” ์•„๋ž˜ REFERENCE๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. ์ฝ”๋”ฉ์„ ํ•˜๋Š” ์‚ฌ์šฉ์ž๋ผ๋ฉด ํŠน์ˆ˜๋ฌธ์ž์™€ ๋ฐฐ์—ด์ด ๊ฑฐ์˜ ์ผ์น˜ํ•˜๋Š” 390์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ์•„๋ž˜ํ•œ๊ธ€ ์‚ฌ์šฉ์ž๋Š” ํ•œ์ปดํƒ€์ž์—ฐ์Šต ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•œ๋‹ค. ์„ค์ •์—์„œ ํ•œ๊ธ€/์„ธ๋ฒŒ์‹390 ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ณ„๋„์˜ ์„ค์ •์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ ์—†์ด ์„ธ๋ฒŒ์‹ ์—ฐ์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‚ ๊ฐœ์…‹ ํƒ€์ž์—ฐ์Šต ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ์„ ์ฐธ๊ณ ํ•œ๋‹ค. http://moogi.new21.org/prg5.html ํ•˜๋ฃจ์— ๋งค์ผ ์‹œ๊ฐ„์„ ์ •ํ•ด ๋†“๊ณ  ์—ฐ์Šต์„ ํ•˜๊ณ  ๊ทธ ๊ฒฝ๊ณผ๋ฅผ ๊ธฐ๋กํ•ด ๋ณด๊ธฐ๋กœ ํ•œ๋‹ค. ์„ธ๋ฒŒ์‹ ํ•œ๊ธ€์ž…๋ ฅ๊ธฐ ์œˆ๋„์šฐ์ฆˆ ...

2023-09-10 ยท 149 words

GPG - GNU Privacy Guard

Intro GNU Privacy Guard, is a public key cryptography implementation. Install Alpine $ doas apk add gpg gpg-agent Ubuntu/Debian $ sudo apt-get install gnupg Setup gpg ํ‚ค์ƒ์„ฑ: default๋กœ ์ง„ํ–‰: Real name๊ณผ Email ์ž…๋ ฅ: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์•”ํ˜ธํ™”๋ฐฉ์‹: ์ตœ์‹ ์˜ ECC(ed25519) ๋ฐฉ์‹ ์‚ฌ์šฉ $ gpg --full-gen-key Create a Revocation Certificate ๋ฌดํšจํ™” ์ธ์ฆํ‚ค ์ƒ์„ฑ (๋ณด์•ˆํ‚ค๋ถ„์‹ค์‹œ ์‚ฌ์šฉ, ๋”ฐ๋กœ ์ž˜ ๋ณด๊ด€) ํŒŒ์ผ๋ชจ๋“œ๊ฐ€ 600์ธ์ง€ ํ™•์ธ $ gpg --output ~/revocation.crt --gen-revoke your_email@address.com How To Import Other Usersโ€™ Public Keys $ gpg --import name_of_pub_key_file How To Verify and Sign Keys $ gpg --fingerprint your_email@address.com $ gpg --list-keys # ํ‚ค๋ฆฌ์ŠคํŠธ ํ™•์ธ $ gpg --armor --export # public key ํ™•์ธ -----BEGIN PGP PUBLIC KEY BLOCK----- mDMEZPwe2hYJwKYBBAHaRw8BAQdATXg1HK+wZW/sZlDXfs7KEJeEyX6YRKx9a60c P5pj4mwtAPwP2wq1ACEdj+V6VOH/1ZE5KlH7L8UkYlJ8lK+ZdZBK+wEAlknNS5O7 ... -----END PGP PUBLIC KEY BLOCK----- Encrypt and Decrypt Messages with GPG Encrypt Messages $ gpg --encrypt --sing --armor -r <your_email@address.com> <name_of_file> $ ls $ <name_of_file>.asc Decrypt Messages $ gpg <name_of_file>.asc Key Maintenance $ gpg --list-keys # list available GPG keys $ gpg --refresh-keys # update the key information $ gpg --keyserver <key_server> --refresh-keys # pull information from a specific key server Bakcup & Restore backup (์‚ฌ์šฉ์ค‘์ธ PC) # tree๋กœ ~/.gnupg ํ™•์ธ tree ~/.gnupg # ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ํ‚ค ํ™•์ธ gpg --list-secret-keys --keyid-format LONG # ๋ฐฑ์—… mkdir ~/gpg-backup gpg --export --export-options backup --output ~/gpg-backup/public-key.gpg gpg --export-secret-keys --export-options backup --output ~/gpg-backup/private-key.gpg gpg --export-ownertrust > ~/gpg-backup/trust_key.gpg tar cvf <USB-mount-path>/gpg-backup.tar gpg-backup restore (๋‹ค๋ฅธ PC) # USB mount tar xvf <USB-mount-path>/gpg-backup.tar cd gpg-backup/ # ํ‚ค ๋ณต์› gpg --import public-key.gpg gpg --import private-key.gpg gpg --import-ownertrust trust-key.gpg # ํ‚ค ํ™•์ธ gpg --list-secret-keys --keyid-format LONG PASS(The Standard Unix Password Manager) with gpg pass๋Š” ์œ ๋‹‰์Šค์—์„œ ๊ฐœ์ธ์˜ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ‘œ์ค€ ํˆด์ด๋‹ค. ...

2023-09-09 ยท 381 words

Edge - ์œˆ๋„์šฐ์ฆˆ ๋ธŒ๋ผ์šฐ์ €

์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์–ด์ฉ” ์ˆ˜ ์—†์ด ๊ด€๊ณต์„œ๋‚˜ ๊ธˆ์œต๊ถŒ ๋•Œ๋ฌธ์ด๋‹ค. ํ•œ๊ตญ์˜ ํ›„์ง„์ ์ธ ๊ณต์ธ์ธ์ฆ์„œ์ œ๋„์™€ ์œˆ๋„์šฐ์ฆˆ ์ค‘์‹ฌ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ํํ•ด๊ฐ€ ์•„๋‹๊นŒ ํ•œ๋‹ค. ๋‹คํฌ๋ชจ๋“œ Dark mode ๋ณ€๊ฒฝ ๋ชจ์–‘๋ณ€๊ฒฝ: ์„ค์ • > ๋ธŒ๋ผ์šฐ์ € ๋””์Šคํ”Œ๋ ˆ์ด> ๋ชจ์–‘ ์‚ฌ์šฉ์ž ์ง€์ • > ์–ด๋‘ก๊ฒŒ ์›นํŽ˜์ด์ง€๋ณ€๊ฒฝ: ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ํ›„ ์žฌ์‹คํ–‰ edge://flags/#enable-force-dark

2023-09-08 ยท 42 words

nvim-scp - nvim์œผ๋กœ ์›๊ฒฉ ํŒŒ์ผ ํŽธ์ง‘

Intro ์›๊ฒฉ์ง€์— ์ง์ ‘ ๋กœ๊ทธ์ธํ•ด์„œ ํŽธ์ง‘ํ•  ๊ฒฝ์šฐ ๊ทธ ๊ณณ์˜ vim ๋˜๋Š” nvim ์„ ์„ค์น˜, ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํŽธํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์ˆ˜์ •ํ•˜๋Š” ์ •๋„๋ฉด ๊ธฐ๋ณธ์ ์ธ vi ์ •๋„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ๊ฒƒ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ข€ ๋” ์ž์„ธํ•œ ์ˆ˜์ • ๋˜๋Š” ์ฝ”๋”ฉ์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ถˆํŽธํ•˜๋‹ค. ๋กœ์ปฌ์—์„œ ์ž์‹ ์ด ์„ค์ •ํ•ด ๋†“์€ (n)vim์œผ๋กœ ์›๊ฒฉ์ง€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค. ์กฐ์‚ฌํ•œ ๊ฒฐ๊ณผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ๋งŽ์€๋ฐ scp๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณต์žกํ•˜์ง€ ์•Š๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ฐ๊ธฐ ์ข‹๋‹ค. ๊ทธ ๋ฐ–์˜ ๋ฐฉ๋ฒ•์œผ๋กœ nvim server/client mode๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, rsync, tmux, distant.nvim ๋“ฑ์ด ์žˆ๋‹ค. Howto ๋จผ์ € ๋กœ์ปฌ์— ssh, scp ๋“ฑ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋‹น์—ฐํžˆ ๋กœ์ปฌ์— ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ค์น˜ ์„ค์ •๋œ (n)vim๋„ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์›๊ฒฉ์ง€์— ssh๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ๋„ ํ•„์š”ํ•˜๋‹ค. ssh์›๊ฒฉ๋กœ๊ทธ์ธ์„ ํ‚ค์ธ์ฆ์œผ๋กœ ํ•ด ๋†“์œผ๋ฉด ๋”์šฑ ํŽธ๋ฆฌํ•˜๋‹ค. (ssh-keygen์œผ๋กœ ์ƒ์„ฑ, local:id_rsa.pub -> remmote:authorized_keys ์ถ”๊ฐ€) $ vim scp://user@server-name[:port]//path-to-file.txt ๋˜๋Š” (n)vim์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ...

2023-09-07 ยท (updated 2023-09-08) ยท 164 words

Git-Crypt - github์— ๋™๊ธฐํ™”ํ•  ๋•Œ ์ž๋™ ์•”ํ˜ธํ™”

Intro Github์— ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆด ๋•Œ ์•”ํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ํˆด ์˜ฌ๋ฆด ๋•Œ์—๋Š” ์•”ํ˜ธํ™”ํ•ด์„œ ์˜ฌ๋ฆฌ๊ณ  ๋‹ค์šด๋กœ๋“œ ์‹œ์—๋Š” ๋ณตํ˜ธํ™” ํ•ด์ค€๋‹ค. ๋ณด์•ˆํ‚ค๋‚˜ ํŒจ์Šค์›Œ๋“œ, ์ค‘์š” ์„ค์ • ์ •๋ณด ๋“ฑ์ด ๊ณต๊ฐœ์šฉ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„๊ณต๊ฐœ์šฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆด ๋•Œ์—๋„ ์œ ์šฉํ•˜๋‹ค. ์•„์šธ๋Ÿฌ vimwiki๋‚˜ ์ง€๊ทนํžˆ ๊ฐœ์ธ์ ์ธ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•  ๋•Œ github๋ฅผ ์ด์šฉํ•  ๊ฒฝ์šฐ์—๋„ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค. Github ์ž์ฒด๊ฐ€ ํ•ดํ‚น๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , github์˜ ์ž๋ฃŒ๋Š” ๋ชจ๋‘ ๊นƒํ—ˆ๋ธŒ์˜ ์žฌ์‚ฐ์ด๋ฏ€๋กœ ๋‚ด ์ž๋ฃŒ๋ฅผ ๋ณดํ˜ธํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์•„๋ฌด๋ฆฌ ๋น„๊ณต๊ฐœ์šฉ์ด๋ผ ํ• ์ง€๋ผ๋„ ๊บผ๋ฆผ์งํ•˜๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด ๋‘๋ฉด ์ข‹์€ ์ ์€ PC๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ž‘์—… ์žฅ์†Œ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ๋ชจ๋‘ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐœ์ธ์ž๋ฃŒ๋ฅผ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ๊ฐœ์ธ์ž๋ฃŒ๋ฅผ ์—๋ฒ„๋…ธํŠธ๋‚˜ ๊ตฌ๊ธ€๊ณ„์ •์— ์ €์žฅํ•ด๋„ ๋˜๊ฒ ์ง€๋งŒ ์ด๊ณณ๋„ ๊ทผ๋ณธ์ ์œผ๋กœ ๋ณด์•ˆ์ƒํƒœ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๋˜ํ•œ ๊ฐœ๋ฐœ์ž, ์ž‘๊ฐ€ ๋“ฑ์€ ์†์‰ฝ๊ฒŒ github๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ๋ฅผ ๋‘๊ณ  ์ž‘์—…์„ ํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ž‘๊ณ  ๊ฐ€๋ณ๊ณ  ์˜์กด์„ฑ๋„ ์—†๋Š” git-crypt๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ์ƒ์ˆ ํ•˜๊ฒ ์œผ๋‚˜ ์ €์žฅ์†Œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์“ธ ๊ฒฝ์šฐ ๊ทธ ๋งŒํผ ๊ด€๋ฆฌํ•  ํ‚ค๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ๋”ฐ๋กœ ๋ณด๊ด€ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ์•”ํ˜ธํ™”๊ฐ€ ํ•„์š”ํ•œ ํŒŒ์ผ์€ ๊ฐ€๊ธ‰์  ํ•œ ์ €์žฅ์†Œ์— ๋ชจ์œผ๊ณ  ํ•˜๋‚˜์˜ ํ‚ค๋งŒ ๋”ฐ๋กœ USB๋‚˜ ๊ธฐํƒ€ ์žฅ์†Œ์— ๋ณด๊ด€ํ•ด ๋‘๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค. ๋งŒ์•ฝ git-crypt์— ์˜ํ•ด ์ƒ๊ธด ํ‚ค๋„ ๊นƒํ—ˆ๋ธŒ์— ์ €์žฅํ•œ๋‹ค๋ฉด ์ž๊ธฐ ๋ชจ์ˆœ์— ๋น ์ง€๋ฏ€๋กœ ๋ณ„๋„๋กœ ๋ฐฑ์—… ๋ณด๊ด€ํ•ด์•ผ ํ•œ๋‹ค. Install $ sudo apt install git-crypt # Ubuntu, Debian $ doas apk add git-crypt # Alpine Using git-crypt ์ฃผ์˜์‚ฌํ•ญ: git-crypt๋ฅผ ์ ์šฉํ•˜๊ธฐ ์ „์˜ ๋ฐ์ดํ„ฐ๋Š” ์•”ํ˜ธํ™” ํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ github์—์„œ ์ƒˆ๋กœ์šด ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์•„๋ž˜ your_secret_file ๊ณผ your_secret_directory๋Š” ์ €์žฅ์†Œ ๋‚ด์˜ ์•”ํ˜ธํ™”ํ•  ํŒŒ์ผ ๋˜๋Š” ํด๋”. $ git clone git@github.com:<github_user>/<your_progject_name> $ cd <your_project_name> $ git-crypt init $ cat <<EOF > .gitattributes your_secret_file_name filter=git-crypt diff=git-crypt *.key filter=git-crypt diff=git-crypt your_secret_dir/** filter=git-crypt diff=git-crypt EOF $ echo "hello world" > your_secret_file $ echo "hello world" > your_secret_dir/file1 $ git add . && git commit "update files" && git push ์ž์‹ ์˜ ๊นƒํ—ˆ๋ธŒ ์ €์ •์†Œ์— ๊ฐ€์„œ ์˜ฌ๋ฆฐ ํŒŒ์ผ์ด ์•”ํ˜ธ์™€ ๋˜์—ˆ๋Š”์ง€ ๋กœ๊ทธ์ธํ•ด์„œ ํ™•์ธํ•œ๋‹ค. ๋ณดํ†ต์˜ ๊ฒฝ์šฐ ์œ„ ์„ค์ •์ด ์ž˜ ๋˜์—ˆ์œผ๋ฉด ํ‰์ƒ์‹œ ๋Œ€๋กœ git์„ ์‚ฌ์šฉํ•˜๋ฉด ์ €์žฅ์†Œ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค. ์ƒ์„ฑ๋œ ์•”ํ˜ธํ‚ค ๊ด€๋ฆฌ ์œ„์˜ git-crypt init ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋ฉด .git/git-crypt/keys๋กœ ์ดˆ๊ธฐํ™”๋˜๊ณ  ํ‚ค๊ฐ€ ์ƒ์„ฑ, ๋ณด๊ด€๋œ๋‹ค. Symmetric Mode: ์ƒ์„ฑ๋œ ํ‚ค๋Š” ๋กœ์ปฌ์—๋งŒ ์กด์žฌํ•˜๋ฏ€๋กœ ์ด ํ‚ค๋ฅผ USB ๋“ฑ์— ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ๋ฅผ ๋‹ค์šด ๋ฐ›์€ ํ›„ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. GPG Mode: ๋˜ํ•œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ‚ค๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ ๊ทธ ์‚ฌ์šฉ์ž๊ฐ€ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ž์‹  ํฌํ•จ) GPG Mode - ์ž์‹  ๋˜๋Š” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ $ git-crypt add-gpg-user <USER_ID> # ์ฃผ ์‚ฌ์šฉ์ž๋ชจ๋“œ: USER_ID is Public GPG key ID ... $ git clone git@github.com:<github_user>/<your_progject_name> # ํ—ˆ๋ฝ๋ฐ›์€ ์‚ฌ์šฉ์ž๋ชจ๋“œ $ cd <your_project_name> $ git-crypt unlock Symmetric Mode - ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž(๋ณดํ†ต ์ž๊ธฐ์ž์‹ )์ด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• $ git-crypt export-key <path_to_your_keyfile> # ์ฃผ ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ฐฑ์—…ํ•˜๊ธฐ ... $ git clone git@github.com:<github_user>/<your_progject_name> # ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ณตํ˜ธํ™” ํ•˜๊ธฐ $ cd <your_project_name> $ git-crypt unlock <path_to_your_keyfile> # ๋ฐฑ์—…ํ•ด๋‘” ํ‚คํŒŒ์ผ์„ ์ด์šฉํ•ด ๋ณตํ˜ธํ™”ํ•˜๊ธฐ ์ฐธ๊ณ ์‚ฌํ•ญ .gitattributes ํŒŒ์ผ ์ž์‹ ์€ ์•”ํ˜ธํ™”๋˜์„œ๋Š” ์•ˆ๋œ๋‹ค๊ณ  ๋ฉ”๋‰ด์–ผ์— ๋‚˜์™€ ์žˆ๋‹ค. .gitattributes ํŒŒ์ผ์— dir/**์—์„œ **์ด ๋‘ ๊ฐœ์ธ ์ด์œ ๋Š” ์ดํ•˜ ์„œ๋ธŒ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋„ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ƒ๋‹นํžˆ ๋งŽ์€ ํŒŒ์ผ์ด๋‚˜ ํด๋”์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค. ์†Œ์ŠคํŒŒ์ผ์ด๋‚˜ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์•”ํ˜ธํ™” ํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•˜๊ณ  ์ด์ง„ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์—๋Š” ๊ทธ๋ฆฌ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. ํŒŒ์ผ์ด๋ฆ„์ด๋‚˜ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€์ •๋ณด๋Š” ์•”ํ˜ธํ™”ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ฆ‰ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์•”ํ˜ธํ™” ํ•œ๋‹ค. REFERENCE Git-Crypt Home - https://www.agwa.name/projects/git-crypt/ git-crypt github - https://github.com/AGWA/git-crypt managing secrets with git crypt - https://dzone.com/articles/managing-secrets-with-git-crypt

2023-08-27 ยท 483 words