์ฌํ ๋จ๊ณ :
๊ฒฐ๊ณผ:
git pull
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
๋ช ๋ น ์ค์์ ์๋ํฉ๋๊น? ๊ฐ์ธ ํค ํ์ผ์ ์ฌ์ฉํ๋๋ก git์ ์ ํํ ์ด๋ป๊ฒ ์ค์ ํฉ๋๊น?
๋ช ๋ น ์ค์์ ์๋ํฉ๋๋ค. ์ค์ ๋ก ๋๋ ๊ฑฐ๋ถ์ด ์์์ ํตํด ์์์ ์ค์ ํ์ต๋๋ค. ๊ทธ๋์ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ช ๋ น ์ค์ ์ด๋ป๊ฒ ์์ํฉ๋๊น? ์ด๋ค ๋ช ๋ น ์ค?
Windows์์ git bash (MINGW64)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ถ๋ฆฌ. ๋ฐ๋ผ์ Tortoise์ ๊ฐ์ git.sshkey
์ค์ ๋ ์ถ๊ฐํด์ผ ํ ์ ์์ต๋๋ค.
Windows 10, Git 2.10.1.
ํ๋ก๋์
์๋ฒ์์ vscode์์ git์ ์ฌ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ์์ด์ ํ
์คํธ ์๋ฒ๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ฒ์์๋ ์ํธ๋ก ๋ณดํธ ๋ ์ฌ์ฉ์ (ํค ์์)์์ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์๊ฒฉ ์ฆ๋ช
ํ๋กฌํํธ๊ฐ ํ์๋์ง ์์ต๋๋ค.
vscode ๋ด๋ถ์ ํฐ๋ฏธ๋ ๋๋ ์์์ cmd๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๊ณ ๋น๊ธธ ์ ์์ผ๋ฉฐ ์๋ํฉ๋๋ค-์ํธ๋ฅผ ๋ฌป์ต๋๋ค. vscode๋ฅผ ์ฌ์ฉํ๋ฉด ์ปค๋ฐ ๋ง ์ค๋น ํ ์ ์์ต๋๋ค. ํ, ํธ์, ๋๊ธฐํ๋ ์ํธ๋ฅผ ์๊ตฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์คํจํฉ๋๋ค.
ํ๋ก๋์
์์๋ ssh์ ๋ํด ๋ค๋ฅธ 5 ์๋ฆฌ ํฌํธ๊ฐ์๋ ์ํธ๋ก ๋ณดํธ ๋ ํค๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ํ ํ ์ปดํจํฐ์ ๋ช ๊ฐ์ง ๋ค๋ฅธ ssh ํค (git ํฌํจ)๊ฐ ์์ต๋๋ค.
@joaomoreno ์ ๊ทธ๊ฒ์ ๋ฐฑ ๋ก๊ทธ๋ก ์ฎ๊ฒผ์ต๋๊น?
์ฐ์ ์์๋ฅผ ๊ณํํ๋ ๊ฒ๋ฟ์ ๋๋ค. ๊ทธ๋๋ ํ ์์ฒญ์ ์๋ ํ ์ ์์ต๋๋ค. ๐
๊ทธ๊ฒ์ ๊ธฐ๋ค๋ฆฌ๋ ์ค ๐
์ด๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ ๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๊ณ ๊ฝค ์ง์ฆ๋ฉ๋๋ค ๐
@joaomoreno ๋๋ ์ด๊ฒ์ ์ฐ๋ฅด๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ํค ๊ธฐ๋ฐ ๋ณด์์ผ๋ก ์ด๋ํจ์ ๋ฐ๋ผ ์ด์ ๊ฐ์ธ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
์ฌ๋๋ค์ ์ฌ๊ธฐ์์ ๋ด ์งํ ์ํฉ์ ์ถ์ ํ ์
@hashhar ๋ฉ์ง๋ค์! ๐ป ๋ฒฝ์ ๋ถ๋ชํ๋ฉด ์๋ ค์ฃผ์ธ์.
@joaomoreno ๋๋ ๋ณํ๊ฐ ํ์ํ ๊ณณ์ ์ฐพ๊ณ ์์๊ณ ๋ค์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
clone
์ ์ธํ ๋ชจ๋ ์์
์ ์ํ ํ ์ ์์ต๋๋ค (node.url.parse ()๊ฐ ssh URL์ ๋ํด ์๋ํ์ง ์๊ธฐ ๋๋ฌธ).git.sshkey
(๊ฐ์ธ ํค์ ์์น (ํ์ฌ openssh ํค๋ก ์ ํ๋จ-git์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ฏ๋ก ๋์ค์ ํผํฐ ํค๋ฅผ ์กฐ์ฌ ํ ๊ฒ์)).git ์๋ ํฌ์ธํธ์์ ํต์ ์ vscode๊ฐ ์๋ git.exe์ ์ํด ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ณ๊ฒฝ์ ํ์ํ์ง ์์ต๋๋ค (ํ์ฌ ๋ณธ ๊ฒ์์).
์ข์, URL ๊ตฌ๋ฌธ ๋ถ์์ ๋ํ ๋ด ์๋ชป์
๋๋ค. ๋
ธ๋๊ฐ git+ssh://[email protected]:hashhar/vscode
๋๋ ssh://[email protected]:hashhar/vscode
์ ๊ฐ์ URL์ ํ์ฉํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ssh
๋ถ๋ถ์ ๋ช
์ ์ ์ผ๋ก ์ธ๊ธํด์ผํฉ๋๋ค.
์ด์ ๋ํด ์ด๋ป๊ฒํด์ผํฉ๋๊น? vscode๋ [email protected]:username/repo
ํ์๊ณผ ์ผ์นํ๋ URL ์์ ๋ง์ ์ฒ๋ผ ssh
๋ฅผ ์ถ๊ฐํด์ผํฉ๋๋ค. ์๋๋ฉด ์กฐ์ฉํ ์คํจํฉ๋๊น? (์ฌ์ ํ ssh-agent๊ฐ ์คํ๋์ด์ผํฉ๋๋ค).
ํ @joaomoreno. ์๊ฐ์ ์ฐพ์ ์ ์์ผ๋ฉด ์์ ๋ฌธ์ ์ ๋ํด ์๊ฒฌ์ ๋งํ์ญ์์ค. ๋๋ ํ์ฌ ๊ฐ์ธ ํค์ ๋ํด ssh-agent๋ฅผ ์์ํ์ฌ ๊ฐ๋ ์ฆ๋ช ์ ํจ๊ป ํดํนํ์ต๋๋ค. ์๋ํ์ง๋ง ์ฝ๊ฐ์ ๊ดํ์ด ์ฌ์ ํ ํ์ํฉ๋๋ค.
@hashhar ์ง์ฐ
ssh-agent๋ฅผ ์์ํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ๋ํ Git์ด ์ฐพ์ ์์น๋ฅผ ์ ์ ์๋๋ก SSH_AGENT_PID ๋ฐ SSH_AUTH_SOCK ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํด์ผํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ VSCode๋ฅผ ๋ค์ ์์ํ ๋๋ง๋ค ์ฌ์ฉํ ์ ์๋๋ก ์ด๋๊ฐ์ ์ ์ฅํ๊ฑฐ๋ VS Code๋ฅผ ๋ค์ ์์ํ ๋๋ง๋ค ssh-agent๋ฅผ ๋ค์ ์์ํด์ผํฉ๋๋ค.
๊ฐ์ ([System.IO.Path]::GetTempPath()) ".ssh\$key.env"
์ ์ ์ฅํ๋ Posh-Git (Powershell Git ๋ชจ๋)๊ณผ ๊ณต์ ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค.ํ์ง๋ง ํด๋น ํ๊ณผ ์ด์ผ๊ธฐํ์ฌ ํด๋น ์์น๊ฐ ์์ ์ ์์น์ธ์ง ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐํ์ ๊ธฐ๋ป์.
@andrewducker ์ถ๊ฐ ์ ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ๊ธฐ ์ค๋ฐ ๋๋ฌธ์ ์ ๊ฐํ๊ณ ์ถ์ ์๋๋ก์ด ์์ ์ํ์ง ๋ชปํ์ต๋๋ค. ์ด๋ฒ ์ฃผ ๋ง๊น์ง ๋ค์ ๋ง์ ๋๋ฆฌ๊ฒ ์ต๋๋ค. Posh-Git ํ์ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
@joaomoreno ์ด ์์ ์ผ๋ก ๋์ ์์ต๋๋ค. ๋ด ์ด์ ์ ๊ทผ ๋ฐฉ์์ ๋๋ฌด ์์งํ๊ณ ์๋ํ์ง ์์์ต๋๋ค. ํ์ฌ git ๋ช ๋ น์ ์ํํ๊ธฐ ์ ์ ํธ์ถ๋๋ ํจ์๋ฅผ ์ถ๊ฐ ํ ์ ์ ํ ์์น๋ฅผ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค (์ : VSCode๊ฐ ์์๋๊ณ git ๊ณต๊ธ์๊ฐ๋ก๋ ์ค์ผ ๋). ์ด๊ฑฐ ์ด๋์ํ๋์? ์ฝ๋์ ํ๋ฆ์ด ๋ฌด์์ธ์ง ์ดํดํ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค.
Git ํธ์ถ์ด ์ด๋ฃจ์ด์ง ๋๋ง๋ค ํธ์ถ๋๋ ์ฝ๋๊ฐ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ฒ์ ํธ์ถ ํ ๋ ์ํธ๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ ์ดํด๋ณด๋ฉด Git.ts์ ํํฌ๋ฅผ ๋๋ ๊ฒ์ด ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ์๋ฏธํ๋ ๋ชจ๋ ํจ์ ๋ด๋ถ๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์ ๋๋ค. (๊ฐ์ ธ ์ค๊ธฐ, ๋น๊ธฐ๊ธฐ, ๋ฐ๊ธฐ ๋ฑ).
(๋ด๊ฐ ์ง์ ํ ๊ฒ์ ์ ์ํ์ง๋ง TypeScript๋ก ์๋ฌด๊ฒ๋ ์์ฑํ์ง ์์๊ฑฐ๋ VSCode ํ์ฅ์ผ๋ก ์์ ํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ GitHub์์ ์ฝ๋๋ฅผ ๊ฐ๋ตํ๊ฒ ์ดํด๋ดค์๋ฟ์ ๋๋ค.)
๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ Windows์์ SSH_AUTH_SOCK ๋ฐ SSH_AUTH_PID ๋ณ์๋ฅผ ssh-agent๊ฐ ์์๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ชจ๋ ํ๋ก์ธ์ค ๋๋ ๋จ์ผ ์ฝ์ ์ธ์ ์์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์กด ํญ๋ชฉ์ ์ฌ์ฌ์ฉํ๋ ๋์ (์ ์ด๋ Windows์์) VSCode ๋ด์์ ssh-agent๋ฅผ ์์ํ๋ ๊ฒ์ด ํจ์ฌ ์ฝ์ต๋๋ค.
์ค์ ์ ์ผ๋ก ์ด๊ฒ์ ์ฌ์ฉ์๊ฐ ์ฒซ ๋ฒ์งธ Git ์์ ์ด ์๋ฃ๋๊ธฐ ์ ์ ์ํธ๋ฅผ ํ ๋ฒ ์ ๊ณตํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ๋ค๋ฅธ VSCode ์ธ์คํด์ค๊ฐ ์์ฒด ์์ด์ ํธ๋ฅผ ์์ํ๊ธฐ ์ ์ ๋ณผ ์ ์๋๋ก SSH_AUTH_SOCK์ด ์์ฑ ๋ ํ๋ ์ฝ๋ฉ ๋ ์์น๋ฅผ ์ ์ ํ ์ ์๋ค๋ฉด VSCode ์ธ์คํด์ค๋ ์๋ก ssh-agent๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ ์๊ฒ ์๋นํ ํฅ๋ฏธ๋ก์ด ๋์ ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. ๐
vscode๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ SSH_AUTH_SOCK์ ์กด์คํ๋ค๋ฉด ์คํ ๊ฐ๋ฅํ ์ต์ ์ด ๋ ๊ฒ์ ๋๋ค. ssh-agent๊ฐ ์ด๋ฏธ ๋ด ์์คํ ์์ ์คํ๋๊ณ ์๋๋ฐ๋ ๊ฐ์ธ ํค ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ ํตํฉ ๋ vscode ํฐ๋ฏธ๋ (์) ๋ด์์ git์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ ์ฌ์ด ๋๋ฒ๊น ์ ์ํด git ํ๋ฌ๊ทธ์ธ๊ณผ ํฐ๋ฏธ๋์ด ๋์ผํ๊ฒ ์๋ํด์ผํฉ๋๋ค.
ํธ์ง : ๋๋ ์ปค๋ฐ f9d0c687ff2ea7aabd85fb9a43129117c0ecf519
EDIT2 : ์ฐฝ ๊ด๋ฆฌ์์ ์คํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๋์ bash์์ vscode๋ฅผ ์คํํ ๋ ์๋ํฉ๋๋ค.
์-์ด๋ฏธ ํ๊ฒฝ์ ์ค์ ๋ ์ธ์ ์์ VSCode๋ฅผ ์์ํ๋ฉด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค (์ ๊ฒฝ์ฐ์๋ Powershell์์ ์์). ๋ฐ๋ผ์ ์ด๋ฏธ ์ค์ ๋์ด ์์ผ๋ฉด ํ ์ผ์ด ์์ต๋๋ค.
์ด๊ฒ์ ๋ํ ์ง์ ์ด ์์ต๋๊น?
ํธ์ ๋ด์ ๊ฐ๊ธฐ ์ฃ์ก ํด์. ๋๋ ๋ํ ๋๋ฌธ์ ์ถฉ๋ถํ ์๊ฐ์ ํ ์ ์์์ต๋๋ค. ๋์๊ฒ btw๋ฅผ ์๊ธฐ์์ผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ๋ค์ ์ฃผ์ ๋ช ๊ฐ์ง ์ผ์ ๋๋ด๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ฌํ๊ฒ๋ ๊ฐ์ ์ข
๋ฅ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค ... ๐ญ
๋ค์์ ๋ด ๊ตฌ์ฑ๊ณผ์ด๋ฅผ ์ฌํํ๋ ์์ธํ ์๋๋ฆฌ์ค์
๋๋ค.
์กฐ๊ธ ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค!
OS : macOSX Sierra ๋ฒ์ 10.24.4
VScode : ๋ฒ์ 1.11.1
๋ด .ssh ํด๋์ ๋ค์ ํ์ผ์ด ์์ต๋๋ค.
๊ตฌ์ฑ ํ์ผ ๋ด์ฉ :
Host gitlab.com
HostName gitlab.com
User git
RSAAuthentication yes
IdentityFile ~/.ssh/id_rsa_gitlab
Host github.com
HostName github.com
User git
RSAAuthentication yes
IdentityFile ~/.ssh/id_rsa_github
์ปค๋งจ๋ ๋ผ์ธ๊ณผ ํ์์์ ์๋ฌด ๋ฌธ์ ์์ด ์ปค๋ฐํ๊ณ ํธ์ ํ ์ ์์ต๋๋ค.
ํ์ง๋ง VScode์์๋ ํ ์ ์์ต๋๋ค ... ์๋ ํ ๋๋ง๋ค์ด ์ถ๋ ฅ ๋ฉ์์ง๋ฅผ ๋ฐํํฉ๋๋ค.
git pull
๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค (๊ณต๊ฐ ํค).
์น๋ช ์ : ์๊ฒฉ ์ ์ฅ์์์ ์ฝ์ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ์ก์ธ์ค ๊ถํ์ด ์๋์ง ํ์ธํ์ญ์์ค
์ ์ฅ์๊ฐ ์กด์ฌํฉ๋๋ค.
๋น์ ์ ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค
๋์๊ฒ ์ด๊ฒ์ ์ ๋ง๋ก ์ฐจ๋จ์ ์ ๋๋ค. ๋๋ VSC๋ฅผ ์ข์ํ์ง๋ง git์ ์ฌ์ฉํ ์ ์์ผ๋ฉด ๋งค์ผ ํธ์ง์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
@MartinZubek @jmbelloteau SSH ์์ด์ ํธ๋ฅผ ์์ํ ๋ช ๋ น ์ค์์ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๊น?
ํํ
ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์๊ฒฉ Git์ ์ฐ๊ฒฐํ์ต๋๋ค.
ssh -T [email protected]
... ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํฐ๋ฏธ๋์์ VScode๋ฅผ ์ด์์ต๋๋ค.
code
VScode์์ ํธ์ ํ ๋ ์ฌ์ ํ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ ๋ง ๋ฌธ์ ์
๋๋ค!
@MartinZubek๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. VScode๋ Atom๋ณด๋ค ํจ์ฌ ๋ ๋๋์ต๋๋ค.
๋๋ ํตํฉ ํฐ๋ฏธ๋ UX์ ์๋์ git์ ์ฌ์ฉํ ์์๋ ๊ฐ๋ฅ์ฑ์ ์ข์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ณด์์ ์ํด ์๊ฒฉ GIT์ ๋ํ ์ฐ๊ฒฐ๋ ํ์ํฉ๋๋ค. ๊ทธ๊ฒ์ ์ํธ๊ฐ SSH๋ฅผ ๋ณดํธํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ฐ๊ฐ์ด ... ๋ง์ฃ ?
@andrewducker ์ค์ ๋ก ์ ์๊ฒ ์ด๋ฐ ์์ผ๋ก ์๋ํฉ๋๋ค. :)
๋ช
๋ น ์ค์์ ์์ํ ํ์์์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
์๋ ํ์ธ์ @MartinZubek ,
๋น์ ์๊ฒ ์ด๋ค ํจ๊ณผ๊ฐ ์์ต๋๊น? ๋ ์์ธํ๊ฒ ์๊ธฐํด ์ฃผ ์๊ฒ ์ด์? ๐
@jmbelloteau ๋ฌผ๋ก , ๋ ์ด์ "Permission denied (publickey)"์ค๋ฅ๋ก ๋๋์ง ์์ผ๋ฉฐ git pull / push๊ฐ ์์๋๋ก ์๋ํฉ๋๋ค. ~ / .ssh / config ํ์ผ์ ์ฌ๋ฐ๋ฅธ ํค๋ฅผ ์ฌ์ฉํ๋ฉฐ ํค ์ํธ๊ฐ ํ์ํ ๋๋ง๋ค์ด ์ฐฝ์ด ๋ํ๋ฉ๋๋ค.
http://imgur.com/wpExMMP
@MartinZubek ๊ทธ๋์
SSH ์์ด์ ํธ๋ฅผ ์์ํ ๋ช
๋ น ์ค์์ ์์ ํ์ต๋๊น?
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ?
๋ด ํ๊ฒฝ์์ ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค.
@jmbelloteau ์, ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ช ๋ น ์ค์์ vscode๋ฅผ ์์ํ์ต๋๋ค (์ ํํ ๋งํ์๋ฉด Windows ์ฉ git๊ณผ ํจ๊ป ์ ๊ณต๋๋ git-bash.exe์ ๋๋ค). ๊ทธ๋๋ ssh-agent ๋ฑ์ ์๋์ผ๋ก ์์ํ ํ์๊ฐ ์์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด git-bash ๋๋ ๋ฌด์ธ๊ฐ๋ก ์๋์ผ๋ก ์์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํธ์ ๋ด์ ๊ฐ๊ธฐ
๋น์ ์ด ๋๋ฅผ ์ํด ์๋ํ์ง ์๋๋ค๊ณ ๋งํ ๊ฒ์ฒ๋ผ ๐ญ
@vscodeteam ์ด ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌ ํ ๊ณํ์ด ์์ต๋๊น?
@jmbelloteau ๋๋ฌด ์ด๋ ค์์. ๊ทธ๊ฒ์ ๋ํ ๊ฝค ์น๊ณ ๋์น๋ค. ๊ตฌํํ๋ ค๊ณ ์๋ํ ๊ฒ์ ๋ ธ๋ ํ๋ก์ธ์ค์์ ssh-agent๋ฅผ ์์ํ์ฌ VSCode์์ env ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋กํ๋ ๊ฒ์ด์์ง๋ง ์ด๋ ์ฌ๋ฌ VSCode ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ssh-agent๋ฅผ ํ์๋กํ๋ฉฐ ๋งค๋ฒ ์ํธ๋ฅผ ์ ๋ ฅํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
๋์ SSH_AUTH_SOCK ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ต๋๋ค. Linux์์ ์๋ํ์ง๋ง ์์ง Windows์์ ํ ์คํธํ์ง ์์์ต๋๋ค.
OpenSSH ๋ Windows Powershell SSH ๋ PuTTY์ ์ถ๊ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋๊ตฐ๊ฐ ๊ทธ๊ฒ์ ํ ์คํธ ํ ์ํฅ์ด ์๋ค๋ฉด, ๋๋ ์ฝ๋๋ฅผ ๋ด ํฌํฌ๋ก ๋ฐ์ด ๋ฃ๊ณ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ํ ์คํธ ํ ์์๋ค. ํ์ง๋ง Harcoded ๊ฒฝ๋ก (๊ฐ๋ ์ฆ๋ช )๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ข ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค.
ํ ์์ผ์ด๋ ์ผ์์ผ๊น์ง ์ฌ๋ฆด ๊ฒ ๊ฐ์์.
์๋ ํ์ธ์ @hashhar !
๋ต๋ณ ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
์ค์ ๋ก ๊ทธ๊ฒ์ ์ ๋ง ๋ณต์กํด ๋ณด์
๋๋ค. ๐
๋๋ ์ ๋ง๋ก ๊ฐ๋ฐ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์ ๋ง๋ก ๋น์ ์ ๋์ธ ์๋ ์์ต๋๋ค. ๋น์ ์ด ๋ง๋ฒ์ ๋ฐ๊ฒฌํ๊ณ ๋น์ ์๊ฒ ํ์ด์ ๋ณด๋ผ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๋๋ ๊ณ์ ๋จธ๋ฌผ ๊ฒ์ ๋๋ค!
๊ทํ์ ์๊ฒฌ๊ณผ ๊ด๋ จํ์ฌ @hashhar , ์ ์ ํ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
ssh-agent
์์ ssh-agent path/to/code
์ํด ์คํ๋๋ ์ ์ฒด VSCode (์กฐ์ ๋
ธ๋ ํ๋ก์ธ์ค ํฌํจ)๋ฅผ ๋ค์ ์์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ฐ ๋
ธ๋ ํ๋ก์ธ์ค์ ๋ํด ํ๋์ ssh-agent ์ธ์คํด์ค๋ฅผ ์คํํ ํ์๊ฐ ์์ต๋๋ค.๋๋ ํ์คํ ํ
์คํธ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ตฌ์ถํ๊ธฐ ์ํด ํน๋ณํ ๊ฒ์ด ํ์ํฉ๋๊น? ๊ณต์ ๋ฒ์ ์ ์ค์นํ์ต๋๋ค.
๊ทธ๋๋ ๋ง๋ค ์ ์์ต๋๋ค :)
@joaomoreno ๋ถ๋ถ ์์ ์ด ์ค๋น๋ ๊ฒ ๊ฐ์ต๋๋ค.
extensions/git/src/askpass.ts
ํ์ผ์์ getEnv()
์ ๋ค์์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
getEnv(): Promise<any> {
return this.portPromise.then(port => ({
ELECTRON_RUN_AS_NODE: '1',
GIT_ASKPASS: path.join(__dirname, 'askpass.sh'),
VSCODE_GIT_ASKPASS_NODE: process.execPath,
VSCODE_GIT_ASKPASS_MAIN: path.join(__dirname, 'askpass-main.js'),
VSCODE_GIT_ASKPASS_PORT: String(port),
SSH_AUTH_SOCK: process.env['SSH_AUTH_SOCK'],
SSH_AGENT_PID: process.env['SSH_AGENT_PID'],
SSH_ASKPASS: process.env['SSH_ASKPASS'] || '/usr/lib/ssh/x11-ssh-askpass'
}));
}
SSH_AUTH_SOCK
๋ ์ค์ ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ํ๊ฒฝ์์ ์ ํ๋ฉ๋๋ค.
์ด์ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค.
| ssh-agent | ์์ด์ ํธ์๋ก๋ ๋ ssh ํค | ๊ฒฐ๊ณผ |
| : --- : | : --- : | : --- : |
| โ | โ | โ |
| โ | โ | $ SSH_ASKPASS ์คํ |
| โ | โ | ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๋๋ค |
๋ฐ๋ผ์ ๋ ๋ฒ์งธ ํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด askpass.ts
์์๋ SSH_ASKPASS
๋ฅผ ์ค์ ํ๋ฉด VSCode๊ฐ ์์์ ํ๋ก๊ทธ๋จ์ ์์ํ๊ณ SSH ํค ์ํธ๋ฅผ ์์ฒญํ๊ฒ๋ฉ๋๋ค.
๋ง์ง๋ง ํ์ ๊ฒฝ์ฐ VSCode ๋ด์์ ssh-agent๋ฅผ ์์ํ๊ณ ์ ์ ํ ๋ณ์๋ฅผ ์ค์ ํด์ผํฉ๋๋ค.
๋๊ตฐ๊ฐ ์ด๊ฒ์ ํ
์คํธ ํ ์ํฅ์ด ์๋ค๋ฉด ๋ด ํฌํฌ (https://github.com/hashhar/vscode)๋ฅผ ๋ณต์ ํ๊ณ git-ssh-key
๋ธ๋์น๋ก ์ ํํ์ฌ ๋น๋ํ๊ณ ์คํํ ์ ์์ต๋๋ค. ์์ ํ์์ ๋ชจ๋ ์กฐํฉ์์ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ํ์ธํ์ญ์์ค. ์ฌ๊ธฐ์ ์์์ ์ต์ํํ๊ธฐ ์ํด์ด ๋ฌธ์ ์ ๋ํด ์๊ฒฌ์ ์ ์ ํ ์ ์์ต๋๋ค.
@hashhar ์ ์ฒด process.env
๋ ์คํฐ ํ ๋ ํญ์ Git์ ์ ๋ฌ๋ฉ๋๋ค.
https://github.com/Microsoft/vscode/blob/master/extensions/git/src/git.ts#L383
ํด๋น ๋ณ์๊ฐ ์ค ๋ํซ์์ด ์ ๋ฌ๋์ง ์์ต๋๊น?
@joaomoreno ์ข์์. ๋ ์์ธํ ์ดํด๋ณด๋ฉด ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ฆฌ๋ ์ค์์ ๋๋ถ๋ถ์ ๋๊ตฌ๋ '/ usr / lib / ssh / ssh-askpass'์ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๋ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ์ง๋ง ๋ง์ ๋๊ตฌ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ์ฌ๋๋ค์ด ํ๊ฒฉ์ ์ ๋ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
ssh-key๊ฐ ์ด๋ฏธ ssh-agent ํค๋ง์ ์ถ๊ฐ ๋ ํ SSH์ ํจ๊ป VSCode๋ฅผ ์ฌ์ฉํ ์์์์ต๋๋ค.
๋ด๊ฐ ์ด๋ฆฌ์์ ๊ฒ ๊ฐ์์.
์ฒ ์ ํ ์ผํ์ง ๋ชปํด์ ์ฃ์กํฉ๋๋ค.
๊ฑฑ์ ๋ง์ธ์, ๋น์ ์ด ์ด๊ฒ์ ๋ฐ์ด ๋๋ ๊ฒ์ด ๋ฉ์ง๋ค! ๐
๋๋ ์ ์ ๋์์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ๊ทธ๊ฒ์ด ๋๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ด๊ฒ์ ๋ํ ์ง์ ์ด ๋ ์์ต๋๊น?
+1
+1
+1
+1
์คํธ์ ์ค์งํ์ธ์! ๊ตฌ๋ ๋ฒํผ๊ณผ ๋ฐ์ ๋ฒํผ์ ์ฌ์ฉํ๊ณ ์ธ๋ฐ์๋ ๋๊ธ์ ์ฐ์ง ๋ง์ธ์.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด์ํ๊ฒ๋, ์ด๊ฒ์ Git Bash์์ ์๋ํ์ง๋ง Windows ์ฉ Bash์์๋ ์๋ํ์ง ์์ต๋๋ค (์์์ ์ธ๊ธ ํ Permission denied (publickey)
์ค๋ฅ๊ฐ ๋ฐ์ ํจ).
$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code
๋ ๊ฒฝ์ฐ ๋ชจ๋ ์๊ฒฉ์ผ๋ก ์ง์ sshingํ์ฌ SSH ํค๊ฐ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋ด๊ฐ ๋ณผ ์์๋ ์ ์ผํ ์ฐจ์ด์ ์ Windows ์ฉ Bash์์ ์์ํ ๋ VSCode๊ฐ ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ํ์ธํ ์ ์๋ค๊ณ ๊ฒฝ๊ณ ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฌ๊ธฐ์์ ๊ฐ์ ๋ฌธ์ , ๊ฑฐ์ ๋ชจ๋ ์ ์ ๋ ์๋ฃจ์ ์ ์๋ํ์ต๋๋ค.
๋๋ MacOs์ ์์ต๋๋ค
@DavidBabel ๋๋ MacOs์ ์์ผ๋ฉฐ ์ํธ์์ด ssh ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ผ์์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ฐํํฉ๋๋ค ...
@letsdevus ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.ํ์ง๋ง ์ํ๊น๊ฒ๋ ์ ๋ฌธ์ ์ธ ์ํฉ์์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋ด๊ฐ ๊ทธ๊ฒ์ ์๋์ํค๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
plink
๋ฅผ Git SSH ๋ฐฑ์๋๋ก ์ค์ ํฉ๋๋ค (ํ๊ฒฝ ๋ณ์ GIT_SSH
).์ด๊ฒ์ ํธ๋ฆญ์ ๋๋ค.
๋์ผํ ๋ฌธ์ ์ ๋ถ๋ช ํ๊ณ VSCode์ ์ฑ๋ฅ์ ๋ํ ๋ ธํน์ ๊ณ์ ์๋ํจ์ ๋ฐ๋ผ ๐
์ด ๋ฌธ์ ๋ฅผ ์ง์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ณ ๋ง๊ฒ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ (์ ธ์์ ์ฝ๋ ์์)์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง๋ง ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
ํผํฐ ์๋ฃจ์ ๋ ๋์์ด ๋ ๊ฒ ๊ฐ์ง๋ง ํผํฐ๋ฅผ ์ ํ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์ ๋ฌด์ฉ์ผ๋ก ๋ณ๋์ ๊ณ์ ์ ์ค์ ํ๊ณ ๊ฐ์ธ ๊ณ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ์์ ํ์ผ ์์ ์ ๋ง์ดํ๊ณ ์์ต๋๋ค. ํต๊ณผ ํ ์ ์์ง๋ง ๋งค๋ฒ ์ํธ๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค. ์ด์ธ์๋ ์๋์ง๋ง ์์ฐ์ฑ์ด ํจ์ฌ ๋จ์ด์ง๋๋ค.
VSC UI๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅ์๋ฅผ ๋ณต์ ํ๋ ค๋ ์๋๊ฐ ssh ์คํ์ผ์ git URL์ ์ฌ์ฉํ์ฌ ์๋ํ์ง ์๋๋ค๋ ์ ์ด ์กฐ๊ธ ์ค๋ง ์ค๋ฝ์ต๋๋ค. ๊ธฐ๋ก์ ์ํด ์ํธ๋ก ๋ณดํธ ๋ SSH ํค๋ฅผ ์ฌ์ฉํ๋ฉฐ SSH ์์ด์ ํธ๋ฅผ ์์ฃผ ์คํ ํ์ง ์์ต๋๋ค . ํนํ ๋ณ๊ฒฝ ์ฌํญ์ ํธ์ ํ ๋ ํค๋ฅผ ์ ๊ธ ํด์ ํ๋ ์ถ๊ฐ ์ํธ ํ๋กฌํํธ๊ฐ ์ค์ ๋ก ๋ค์ ์์ฌํ ์ ์์ต๋๋ค. :-) ๋ช ๋ น ์ค์ด ๋์๊ฒ ์ ์๋ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ง ํฌ์ง ์์ต๋๋ค (๊ธฐ๋ก์ ์ํด macOS์์ VS ์ฝ๋๋ฅผ ์คํํ๊ณ ์์ต๋๋ค.)
@gdamore ๊ทธ๋์ ์์ด์ ํธ ์์ด๋ ์ค์ ๋ก ์๋ํฉ๋๋ค ...ํ์ง๋ง ์ฐ๋ฆฌ๋ Windows์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ๐
์ด์จ๋ SSH ํค์ ํ์ผ ์ด๋ฆ์ ๋ฌด์์
๋๊น? ํ์ค์ธ๊ฐ์? ์๋๋ฉด VSCode๊ฐ ์ ์ ํ ํ์ผ์ ์ฐพ๊ธฐ์ ์ถฉ๋ถํฉ๋๊น?
ํ์๋๋๋ก ์ฃผ๋ก macOS์์ VScode๋ฅผ ์คํํฉ๋๋ค. ์ด๊ฒ์ด Windows์์ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ํ ๋ชจ๋ฆ ๋๋ค. ๋๋ Windows์์ git ์ปค๋ฐํ์ง ์๊ณ ๋์ ๊ณต์ ํ์ผ ์์คํ ์ ์์กดํฉ๋๋ค (๋ด Windows ๊ฐ๋ฐ ์ธ์คํด์ค๋ Mac์ VM ๋ด์์ ๊ฒ์คํธ๋ก ์คํ๋ฉ๋๋ค.)
๋๋์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ช ๋ น ์ค์ ์ ํ ๋ฌธ์ ๊ฐ ์์ง๋ง ์ฑ ์์ฒด ๋ด์์ git ํ๋์ ์ํ ํ ์ ์์
์์ ์ปจํ ์คํธ์์ vscode๋ฅผ git ide๋ก ์ธ๋ชจ ์๊ฒ ๋ง๋ค๊ธฐ
์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ๋ฐ๋ผ ์๋ํ๋๋ก ๋ง๋ค ์์์์ต๋๋ค.
http://www.cgranade.com/blog/2016/06/06/ssh-keys-in-vscode.html
๋๋ stackoverflow์ ๋ํ์ด ๊ฒ์๋ฌผ์ ๋ฐ๋ผ ์๋ํ๋๋ก ๋ง๋ค ์์์์ต๋๋ค.
์ํธ๋ก ๋ณดํธ ๋ ํค๋ฅผ ์ฌ์ฉํ๋ OSX์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ฐ๋จํ ์๋ฃจ์ :
C:\Program Files\PuTTY\plink.exe
๊ฒฝ๋ก์ ํจ๊ป GIT_SSH
๋ผ๋ ์ฌ์ฉ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค ( tortoise git
์ฌ์ฉํ์ฌ ๊ฐ์ธ ํค์ ๋ํ ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํ ํ).
์ด๊ฒ์ ์์ ์ด ํ์ํ๋ฉฐ VS Code๋ฅผ ์ผ์ผ ํธ์ง๊ธฐ๋ก ๋ง๋ค์ง๋ ์์ต๋๋ค. : / ๋ฌธ์ ์ ์งํ ์ํฉ์ ๋ํ ์ ๋ณด๊ฐ ์์ต๋๊น?
ssh-add
์์ ssh ์๊ฒฉ ์ฆ๋ช
์ ์ป์ผ๋ ค๋ฉด vscode๊ฐ ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์์ค ํธ๋ฆฌ๋ ์ถ๊ฐ ๊ตฌ์ฑ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ ์๊ฒฉ ์ฆ๋ช (osxkeychain ์ฌ์ฉ?)์ ๊ฐ์ง ํ ์ ์์ต๋๋ค.
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/_0/bvqq9l5d2ngg0stvkf53jrbr0000gn/T/SourceTreeTemp.ccbSGv
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream origin refs/heads/master:refs/heads/master
Pushing to [email protected]:hanxue/gif-is-jif.git
To github.com:hanxue/gif-is-jif.git
4eed265..762069a master -> master
updating local tracking ref 'refs/remotes/origin/master'
Branch master set up to track remote branch master from origin.
Completed successfully
๋๋ ์ค๋์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ผ๋ฉฐ Linux mint์ ์์ต๋๋ค. ๋๋ ํค ์ฒด์ธ์ ์ฌ์ฉํ๋ค.
sudo apt install keychain
eval 'keychain --eval SSHKEY'
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ ๋ค์ผ.
@ Silentz0r ๋ง์ง๋ง ๋ช ๋ น์ ์ด๋์์ ์คํ ํ์ต๋๊น?
์ ธ ์์
์ฌ๋ฌ๋ถ, ์ฉ๊ฐํ ์ฝ๋๊ฐ PR์ ์ ๊ณตํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค!
OSX์์๋ https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain ๋๋ถ์ ์์ ํ์ต๋๋ค.
~/.ssh
์์ ๋ค์ ์ฝํ
์ธ ๋ก config
ํ์ผ์ ๋ง๋ญ๋๋ค.
Host * (asterisk for all hosts or add specific host)
AddKeysToAgent yes
UseKeychain yes
IdentityFile <key> (e.g. ~/.ssh/userKey)
๋ฟก ๋นต๋จ
๋ด๊ฐ ์ผ๋ง๋ "์ฉ๊ฐํ"์ง๋ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ๋๋ ์ฝ๊ฐ์ SSH ํฌ์
๋๋ค.
12 ์ PR ์์
์ํ๊ฒ ์ต๋๋ค.
๊ด๋ จ๋ ๋ชจ๋ ์๋ฏผ๋ค ...
๋น ๋ฅธ ์ค์ ํ
์คํธ ํ Windows 7 ๊ตฌ์ฑ์ด ๋งค์ฐ ๊ฐ๋จ ํด ๋ณด์
๋๋ค (GIT_SSH ๋ฐ ๊ธฐํ ์ค๋ช
์ฐธ์กฐ). ํค ์ฒด์ธ์ ์ฌ์ฉํ๋ OS X๋ ๋๊ฐ์ด ์ฝ์ต๋๋ค.
์ค์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ ๊ตฌ์ฑ ๋ฌธ์ ์
๋๋ค. VSC๋ SSH๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ตฌ์ฑ์ด๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ผ๋ฉฐ git์ SSH ํด๋ผ์ด์ธํธ๋ฅผ ํธ์ถํฉ๋๋ค. ๋ช
๋ฐฑํ ๊ฒ์ ๋์น๋ค๋ฉด ์ฃ์กํฉ๋๋ค.
์ค์ ์์ํ ๋ง๋ฒ์ฌ ์ธ์ ์ฝ๋์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ ๋ง ์ ์ต ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ค๊ณ ํฉ๋๋ค.
ํ ์๊ฒฌ์ ์๋ง๋ workSpace ๊ตฌ์ฑ์ ๋ฐ๋ผ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ณ๊ฒฝํด์ผ ํ ์์๋ ๋ ์ด์์ ํค๋ฅผ ์ฌ์ฉํ๋ค๊ณ ์ธ๊ธํฉ๋๋ค. ๊ทธ๊ฒ์กฐ์ฐจ ๋ชจ๋ ์์ด์ ํธ๊ฐ ์ฒ๋ฆฌ ํ ์ โโ์์ต๋๋ค. git์ด ์ด๊ฒ์ ์์ฃผ ์ง์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ssh๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๊ณผ ๊ฐ์ ์์
์ ์ํํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ์ ๊ดํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ณด์ ์์ด์ ํธ๊ฐ ์ค์ ๋ก ์ฒ๋ฆฌํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
pagent / keychain ๋ฑ.
์ฝ๋ฉํธ?
"VSC๋ SSH๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ตฌ์ฑ์ด๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค. git์ SSH ํด๋ผ์ด์ธํธ๋ฅผ ํธ์ถํฉ๋๋ค. ๋ถ๋ช ํ ๊ฒ์ด ์์ผ๋ฉด ์ฃ์กํฉ๋๋ค."
(Windows์์)
๋ฌด์จ ์ผ์ด์ผ
๋ฐ๋ก ๊ฐ๊ธฐ์์ VS Code๋ฅผ ์์ํ๊ณ ํ์ฌ ์ํํธ์จ์ด๋ ๋ค์ด๋ก๋ํ์ง ์๊ณ ์ผ๋ถ ๋ช
๋ น ์ค ๊ตฌ์ฑ์ ์ํํ์ง ์์ ๊ฒฝ์ฐ ์ํธํ ๋ SSH ํค์์ ์๋ํ์ง ์์ต๋๋ค.
๋ฐ๋ฉด์ Eclipse๋ฅผ ์ด๊ณ Git ์ ์ฅ์์ ์ฐ๊ฒฐํ๋ฉด ํค์ ๋ํ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
์์
๋ค๋ฅธ ์ํํธ์จ์ด๊ฐ ์ค์น๋์ง ์์ ์์คํ
์ VSCode๋ฅผ ์๋ก ์ค์นํ๋ฉด ๋ด ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง ์์๊ฐ ํ์๋๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ด ํค๋ฅผ ํด๋
ํ๊ณ ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
@cleidigh SourceTree๋ @ItachiSan ์ ์ง์นจ์
ํํ
์๋
ํ์ธ์.
Eclipse์ ์์ค ํธ๋ฆฌ๋ฅผ ์กฐ๊ธ ์ดํด ๋ณด์์ต๋๋ค. ์ํ๊น๊ฒ๋ ํ์ฌ ๋ด ์์คํ
์ ์ด๋ค ์ค ํ๋๋ฅผ ์ค์นํ ์ ์์ผ๋ฏ๋ก Google์ ์ํด ์ง์๊ณผ ๊ฒฝํ์ด ์ ํ๋ฉ๋๋ค. ;-) ๋๋ฝ ๋ ํญ๋ชฉ์ด์๋ ๊ฒฝ์ฐ์ด๋ฅผ ์ผ๋์ ๋์ญ์์ค. ๋ค์์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ / ์ฐจ์ด์ ์
๋๋ค.
Eclipse : EGit ํ๋ฌ๊ทธ์ธ : Java git ํด๋ผ์ด์ธํธ ํฌํจ, ssh ํด๋ผ์ด์ธํธ๊ฐ ๋ด๋ถ ์ธ ๊ฒ์ผ๋ก ๋ณด์, ๊ธฐ์กด ํค์ธ ๊ฒฝ์ฐ ํค ๊ฐ์ ธ ์ค๊ธฐ ํ์
SourceTree : ๊ทธ๋ํฝ ๊ฐ์ ธ ์ค๊ธฐ ํด๋ผ์ด์ธํธ, ์ธ๋ถ ssh ํด๋ผ์ด์ธํธ ํ์ (์๋ ์คํฌ๋ฆฐ ์ท์์ Windows์ plink ๊ฐ์ ) @BeginnerForLife ์ด ์ค์ ์ด ํ์ฌ ์๊ตฌ ์ฌํญ๊ณผ ๊ทธ๋ฆฌ ๋ฉ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
VSC : ์ธ๋ถ git / ssh ํ์
@andrewducker ์ฝ๋๊ฐ git๊ณผ SSH (ํค ์์ฑ ๋ฐ ๊ด๋ฆฌ ํฌํจ)๋ฅผ ๋ชจ๋ ๊ตฌํํ์ง ์๋ ํ ๊ทํ์ ์ค๋ช
์ ๋ด ์๊ฒฌ์ ์ถ์ ํฉ๋๋ค. ๊ทธ ์ฌ์ด์ ๋ง์ ๊ฒ์ด ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ด ์์
์ ์ํ ํ ์ ์์ง๋ง ํ์ด์ด ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ฐ์ ธ์ค๊ณ ์ถ์ด ํ ๊ฒ์ด๋ผ๋ ๋ฐ ํ์์ ์
๋๋ค. @joaomoreno ๋
์ค์ฉ์ ์ธ ๊ด์ ์์ ๋ค์์ ์ง์ ํ๊ณ ์ถ์ต๋๋ค.
์ฝ๋ ๋ด๋ถ์์๋ git / ssh ๋ ๋ค์์ด ์์ ์ ๋ฐ๋ณตํ๋ฉด์, ์์ง ๋ ์ ์ ์ต์ ์ ๊ฒฐ์ ํ์ง ์์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ์ ๋์ ์ผ๋ก ๊ธฐ๊บผ์ด ๋ ธ๋ ฅํ์ง๋ง ํ์ ๋ชฉํ์ ์ผ์นํ๊ณ ํนํ @joaomoreno ๋ก๋ถํฐ ์ถ๋ณต์
@cleidigh ๋๋ ๊ณํ์ด ๋ฌด์์ธ์ง ์ดํดํ์ง ๋ชปํฉ๋๋ค.
๋ฟก ๋นต๋จ
๋๋ ๋ค๋ฅธ ๋น์ฌ์๋ก๋ถํฐ ๋ ๋ง์ ์๋ต์ ์ํ์ง๋ง ๊ฐ๋ฅํ ๊ณํ์ ๋ํ ๊ทํ์ ์๊ฒฌ / ์ ํธ๊ฐ ํ์ํฉ๋๋ค.
๋ถ๋ช
ํ ๋งํ๋ฉด ์ฝ๋๋ ์ฝ๊ฐ์ ์ธ๋ถ ๊ตฌ์ฑ๋ง์ผ๋ก git์ ํตํ SSH ๊ฐ์ธ ํค ์ก์ธ์ค์ ๋ํด ์ ์๋ํ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ์ฌ๊ธฐ์์ ์ผ๋ถ๋ ๋ ํฐ ํตํฉ๊ณผ ํฅ์๋ ๋ณธ์ธ ๋ถ๋ด ๊ฒฝํ์ ์ ์ํฉ๋๋ค.
๋ช ๊ฐ์ง ๊ฐ๋ฅํ ์ ๊ทผ ๋ฐฉ์ :
1- git / ssh ์ค์ ๋์ฐ๋ฏธ / ๋ง๋ฒ์ฌ ๊ตฌํ-ssh ์ฐพ๊ธฐ, GIT_SSH ์ค์ -๋ด๋ถ ์ถ๊ฐ
2- ํ์ฅ์ผ๋ก ๊ตฌํ ๋ 1๊ณผ ๋์ผ
3- ์ด๊ธฐ ์ค์ ์ ์ํด SSH / git ๋ค์ด๋ก๋๋ฅผ ์กฐ์ ํ๊ธฐ ์ํด ์ ํ์ฅ
4- SSH ํด๋ผ์ด์ธํธ / ๋๊ตฌ ๊ตฌํ-๋ด๋ถ ์ถ๊ฐ
5- ํ์ฅ์ผ๋ก ๊ตฌํ ๋ 4์ ๋์ผ
6- ๋ด๋ถ์ ์ผ๋ก git / SS H ๊ตฌํ-eclipse / egit๊ณผ ์ ์ฌ
๋๋ ๊ทธ๊ฒ์ด ์ฌ๋๋ค์ด ๋งํ๋ ๋ชจ๋ ๊ฒ์ ๊ตฌํํ์ง ์๋๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ 1 ๋ฒ์ด๋ฉด ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํฉ๋๋ค (์๋ง 3). ์ต์ 4-6์ ๋๋ฌด ๋ง์ ๋ ธ๋ ฅ๊ณผ ์ฃผ์ ๊ตฌ์ฑ ์์์ ๋ํ ํฐ ๋ณ๊ฒฝ์ฒ๋ผ ๋ณด์ ๋๋ค.
๊ธฐ๋ณธ ์ค์ @joaomoreno / all?
Windows์์ Git๊ณผ ํจ๊ป VS Code๋ฅผ ์ฌ์ฉ ํด๋ณด๊ณ ๋ฌธ์ ์ ์ ํ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ ์๊ฒ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ธ์ฆ์ ๋๋ค.
์ต์ 1์ ํ์คํ ์ ๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๊ฒ์ ๋๋ค.
์๋
ํ์ธ์.
๋์ฐ๋ฏธ / ssh ๊ฒ์์ด ์๊ณ ์ค์ ํ๋ฉด ๋์์ด๋ฉ๋๊น?
ํด๋ผ์ด์ธํธ๋ฅผ ์ค์นํ๋ ๊ฒ ์ธ์๋ Windows ์ฉ git์ ๋ํด ssh๋ฅผ ์ค์ ํ์ต๋๋ค (์ด๋ฏธ ๊ฐ์ง๊ณ ์์ต๋๋ค) ๋ฐฉ๊ธ GIT_SSH๋ฅผ ์ค์ ํ์ต๋๋ค
์์ด์ ํธ์ ํจ๊ป ํค ์ง๋ฌธ๋ ์ถ๊ฐํ์ต๋๋ค.
@joaomoreno ๊ธฐ๋ณธ ์ค์ ๋น ์ต์ 1์ ์ค์ ์
์์ ๋ชจ๋ ๊ฒ์ด ์ค์ฉ์ ์ด๋ผ๊ณ ๋ฏฟ์ง๋ง ์ฝ์ ํ ์๋ ์์ต๋๋ค. ์๋ฌด๋ ๋ค๋ฅธ ๊ธฐ๋ฐํ ์์ด๋์ด๊ฐ ์๋ค๊ณ ๊ฐ์
๊ธฐ๋ณธ์ ์ผ๋ก ์์ ํ๋กํ ํ์
์ ๋ง๋๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ถ๊ฐ ํผ๋๋ฐฑ์ ํ์ํฉ๋๋ค.
๋ค, ๊ทธ ๊ธ ๋จธ๋ฆฌ ๊ธฐํธ๊ฐ ๊ทธ๊ฒ์ ๋ฎ์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํนํ ๋ง์ง๋ง ๋ฌธ์ (์ฌ์ฉ์์๊ฒ ํ๋กฌํํธ ...)๋ ๋ง์ ์ฌ๋๋ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๋ค.
์๋
ํ์ธ์.
๊ฐ์ฌ. ๋๋์ด ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์์ํ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ค๋ฅธ ์
๋ ฅ์ ์ฐจ์ ํ ๊ฒ์
๋๋ค.
์ฌ๋๋ค์ด ์ด๋ป๊ฒ ์๊ฐํ๋์ง๋ณด๊ธฐ ์ํด PR์ํ๊ธฐ ์ ์ ๋ด ์ ์ฅ์์ ๋ํ ํฌ์ธํฐ๋ฅผ ๊ฒ์ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ค์ ํ์ธํ์ธ์.
๋ด ์งํ ์ํฉ์ ์ถ์ ํฉ๋๋ค.
๋๋ (1)์ด ์ต์ ์ ์ ๊ทผ ๋ฐฉ์์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ด๊ฐ ์ง๊ธํ๋ ์ผ์ ๋๋ค. ์์ง ์คํ ์ค์ด ์๋๋ฉด ssh-agent๋ฅผ ์์ํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๋ค์ ํด๋น ๋ช ๋ น ์ค์์ VS-Code๋ฅผ ์์ํ์ฌ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ํํฉ๋๋ค.
VS Code๊ฐ SSH-Agent๊ฐ ์ด๋ฏธ ์คํ๋๊ณ ์์ง ์์์ง ํ์ธํ ๋ค์ ํ์ํ ๊ฒฝ์ฐ ์์ํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ด ๋ชจ๋ ์์
์ ์ํํ๊ธฐ ์ํด PowerShell์ Git ๋ชจ๋์ ์ฌ์ฉํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ๋
ผ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
https://help.github.com/articles/working-with-ssh-key-passphrases/
๋ฐ๋ผ์ ๋
ธ๋ ๊ด์ ์์ ์๋ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค (์๋ง๋ ๋ชจ๋ OS์์ ์๋ํ๋์ง ํ์ธํด์ผ ํ ๊ฒ์
๋๋ค)
@andrewducker cc : ๋ชจ๋
์ ๋ฐ์ดํธ : ๋๋ ์ด์ PR๋ก ๋์ ๊ฐ์ผํ์ง๋ง ์ค์ ๋ก ์ด๊ฒ์ ๋ํด ๋ง์ ์ง์ ์ ์ด๋ฃจ์์ต๋๋ค.
ํ๋ฃจ ์ ๋๋ฉด์ด ๋ฌธ์ ๋ก ๋์๊ฐ ์ ์์ด์ผํฉ๋๋ค.
์ํธ๋ก ๋ณดํธ๋๋ ๊ธฐ๋ณธ ๊ฐ์ธ ํค๋ฅผ ์ฌ์ฉํ์ฌ macOS High Sierra์์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ์ํธ๋ ๋ก๊ทธ์จ ์ธ์
์ค์ OS ํค ์ฒด์ธ์ ์ ์ฅ๋ฉ๋๋ค. Mac์ ์ฌ๋ถํ
ํ ๋ ์ถ๊ฐ ๋ณด์์ ์ํด ์ฒซ ๋ฒ์งธ git pull
/ git push
์ ์ ๋ค์ ์
๋ ฅํด์ผํ๋ฉฐ ๊ทธ ์ดํ๋ก ๋ก๊ทธ ์คํ ํ ๋๊น์ง ์ํธ๋ฅผ ๋ฌป์ง ์์ต๋๋ค. ๋ค์์ ์๊ฒฉ ์ ์ฅ์์ ์ฒ์์ผ๋ก ์ํธ ์์ฉํ ๋ ํฐ๋ฏธ๋์ด ์๋ํ๋ ๋ฐฉ์์
๋๋ค.
$ cd /path/to/repo
$ git pull
Enter passphrase for key '/Users/me/.ssh/id_rsa':
[me typing passphrase and pressing enter]
Updating 3e97c76..65a959c
๊ทธ๋ฌ๋ ์ฌ๋ถํ ํ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ์ ธ ์ค๋ ค๋ ๊ฒ์ด VSCode ์ธ ๊ฒฝ์ฐ ๋ค์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํฐ๋ฏธ๋์ ์ด๊ณ ์ ์ฅ์๋ก ์ด๋ํ์ฌ git pull
์
๋๋ค. ์ฌ๋์ ์๋์ง๋ง ๊ฐ์ ๋ ์ ์์ต๋๋ค.
__UPD : __ ํฅ๋ฏธ๋กญ๊ฒ๋ ์ ์ปค๋ฐ์ ์๋ช ํ๊ธฐ ์ํด GPG ํค ์ํธ๋ฅผ ์๊ตฌํ ๋ VSCode๋ ์ฆ์ ์๋ํ๊ณ ์ ๋ ฅ ํ๋๊ฐ์๋ ํ์ ์ฐฝ์ ํ์ํฉ๋๋ค.
์ด๊ฒ์ ๋ํ ์ํ๋ ๋ฌด์์ ๋๊น?
ํ์ฌ Git: [email protected]: Permission denied (publickey).
์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
~\.ssh
์์ ํค ์์ ์์ฑ ํ ์ฌ์ฉ์๋ ๋ช
๋ น ์ค์ ํตํด ํค ์์ ์ํธ๋ฅผ ์
๋ ฅํ์ฌ ์ธ์ฆ ํ ์ ์์ง๋ง VS Code ๋ด์์๋ ์ธ์ฆ ํ ์ ์์ต๋๋ค.
@cleidigh ํ์ด์ด ์์ต๋๊น?
๋๊ตฌ๋ ์ง ์ํธ ์์ฒญ ์ด๋ฒคํธ๋ฅผ ๊ฐ๋ก ์ฑ ์์๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ ๊ฐ๋ก ์ฑ๋ฉด ์์๊ฐํ๋ ์ผ์ํ๊ณ ์ฌ์ฉํ ํ
์คํธ ์์๋ฅผ ์ ๊ณต ํ ๊ธฐํ๊ฐ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ atm ๋๋ ์์ด๋์ด๋ฅผ ์์์ต๋๋ค.
๋ฌธ์ ๊ฐ VSCode๊ฐ ์๋๋ผ ํ๊ฒฝ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ธฐ ์ ๊น์ง๋ ๋ชจ๋ ์ข ๋ฅ์ ์๊ฒฉ ์ฆ๋ช ๋ฌธ์ ๊ฐ์์์ต๋๋ค. ssh, git ๋ฑ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ๋ค๋ฉด ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ ๊ฒ์ ๋๋ค. Linux์ Windows ๋ชจ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ธ์ ๋ ์ง ํฐ๋ฏธ๋์ ํตํด ๊ฐ์ ํ ์ ์์ต๋๋ค.
๋ค๋ฅธ IDE์ ๋ํ ํ๊ฒฝ์ ์ค์ ํ ํ์๊ฐ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด Eclipse์์ ์ง์ ์คํํ ์ ์์ผ๋ฉฐ ์๊ฒฉ git ์ ์ฅ์์ ์ก์ธ์คํด์ผ ํ ๋ SSH ํค๋ฅผ ํด๋
ํ๊ธฐ์ํ ์ํธ๋ฅผ ์์ฒญํฉ๋๋ค.
Visual Studio Code๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
๋ชจ๋ : ์
๋ฐ์ดํธ
๋๋ ์ด๊ฒ์ ๋ํด ์๋นํ ์ง์ ์ ์ด๋ฃจ์์ง๋ง ๋ช ๊ฐ์ง ์ด์ ๋ก ๊ทธ๊ฒ์ ์ ์ณ ๋์ด์ผํ๊ธฐ ๋๋ฌธ์ 1 ์ ์ดํ๋ก ๋ง์ ์ง์ ์ ์ด๋ฃจ์ง ๋ชปํ์ต๋๋ค. ๋ฏธ์ํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด 5 ์์ ์งํ๋๊ธฐ๋ฅผ ๋ฐ๋ผ๊ณ ์๋ค.
@ john681611 ๋์๊ฒ @andrewducker
์ค๋ ๋์ ์๋ถ๋ถ์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ "๊นจ๋ํ๊ฒ"๊ตฌํํ ์์๋ ํ ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ๋ฌธ์
ํ๋กฌํํธ ๋๋ ๋ชจ๋ ์ ํ์ ํค ๊ด๋ฆฌ์
๋๋ค. ์ด๋ ์ฝ๋๊ฐ ์ธ๋ถ GIT์ ์์กดํ๊ณ
GIT๋ ์์คํ
SSH์ ์์กดํฉ๋๋ค. ์ฝ๋๋ฅผ ๋ด๋ถ์ ์ผ๋ก ๊ตฌํํ์ง ์์ผ๋ฉด (์ : Eclipse) ์ด๋ฌํ ์ธ๋ถ ๊ตฌ์ฑ ์์์ ์ํธ ์์ฉํ๋ ์ต์
์ด ์ ํ๋ฉ๋๋ค.
๋ด ํ์ฌ ํ๋กํ ํ์ ์ ๋ค์์ ์ํ ํ ์ ์์ต๋๋ค.
๋๋ Eclipse์ฒ๋ผ ์๋ตํ๋ ๊ฒ์ด @andrewducker ๋น
์ฐธ๊ณ : ๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ๊ณต์ GIT ํด๋ผ์ด์ธํธ๊ฐ SSH๋ฅผ ์ ์ดํ๋ โโ๋ฐ ์ฌ์ฉํ ์์๋ ๋ ๋ง์ ๋ณด์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฒ๋ฆฌํ๋๋กํ๋ ๊ฒ์ ๋๋ค. ํ์ฌ ์ํคํ ์ฒ๋ฅผ ๋์ผํ๊ฒ ์ ์งํฉ๋๋ค.
๋ชจ๋ / ์ ๋ฐ์ดํธ
์ ๋ ํ๋กํ ํ์ ์ ๋ง์ง๋ง์ด์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ ์ธ Askpass shim์ ์ฌ์ฉํ์ฌ ์ฝ๋์์ ๊ธฐ๋ณธ ์ํธ ๊ตฌ GUI ํ๋กฌํํธ๋ฅผ ์ ๊ณต ํ ์ ์๋๋กํ์ต๋๋ค. ํ์ฌ๋ ์ด๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ฉฐ ํ๋ซํผ์ ์ ํฉํ ssh-agent์ ํจ๊ป ์๊ฒฉ ์ฆ๋ช ์ด ์ ์์ ์ธ ๋ฐฉ์์ผ๋ก ์ ์ฅ ๋ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
๋ด ๋ฌธ์ ๋ SSH ๋๋ GIT๊ฐ Windows์ GIT Bash ๋๋ CMD์์ SSH_ASKPASS, GIT_ASKPASS ๋๋ core.askpass๋ฅผ ์กด์คํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํฐ๋ฏธ๋ ํ๋กฌํํธ ๋ง ํ์๋ฉ๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ ์คํธ๋ก์ด ์ค ํ๋ ๋๋ ๋ชจ๋๋ฅผ ๋ด์ฅ git-gui--askpass์ ์ค์ ํ์ง๋ง ๋ช ๋ น ์ค์์ ํ ์คํธํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์คํ ๋์์์๋ ๋ถ๊ตฌํ๊ณ ์๋ํ์ง ์์ต๋๋ค.
Windows ๋๋ ๊ธฐํ ๊ด๋ จ ์๋๋ฆฌ์ค์์ ์ํธ ํญ๋ชฉ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ฌ๋์ด ์์ต๋๊น?
Sourcetree๋ ํฐ๋ฏธ๋๋ ํ์ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๋์์ง ์์.
macOS 10.12 Sierra ์ด์์์ @ValentinH ์ ์๋ฃจ์
์ ์ถ๊ฐํ๋ ค๋ฉด UseKeychain
์ง์๋ฌธ AddKeysToAgent
์ง์๋ฌธ์ด ํ์ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๊ตฌ์ฑ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
Host github.com
HostName github.com
IdentityFile /path/to/your/ssh/private/key
UseKeychain yes
์ด๊ฒ์ ๋ํ ์ํ๋ ๋ฌด์์ ๋๊น?
'14581 : VS Code์์ "id_rsa"๋ก ์ด๋ฆ์ ์ง์ ํด์ผํ๋ git ssh ํค๊ฐ์ด ๋ฌธ์ ์ ์ค๋ณต์ผ๋ก ๋ซํ์ต๋๋ค. ์ด๊ฒ์ด ์ด๋ป๊ฒ ์ค๋ณต๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค- "๊ฐ์ธ ํค ์ํธ๋ก git ์ง์". ์ด๋ค์ ๋ณ๋์ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.
ํธ์ง : ์ด๊ฒ์ ๋ด๊ฐ ์คํ์ค์ธ ํฐ๋ฏธ๋์ ๋จ์ผ ์ธ์คํด์ค์ ๋ํ ์์ ์ผ๋ฟ์ ๋๋ค. ๋์ผํ ์ฝ๋ ์ธ์ ์์ ์ ํฐ๋ฏธ๋์ ์ฌ๋ ๊ฒฝ์ฐ์๋ ๊ณต๊ฐ ํค ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํ์ต๋๋ค.
๋ด ssh-agent๊ฐ ์ด๋ ์์ ์์ ์ฃฝ์๊ฑฐ๋ ๋ด๊ฐ git์ ์ฌ์ฉํ๋ "id_rsa"๊ฐ ์๋ ํค๋ฅผ ์์ด ๋ฒ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ ๋ฐฉ๊ธ ์คํํ์ต๋๋ค.
eval "$(ssh-agent -s)"
ssh-add path/to/my/github/ssh/private/key
๋ชจ๋ ๊ฒ์ด ์ ์์ผ๋ก ๋์ ์์ต๋๋ค. ์ด๊ฒ์ GitHub๊ฐ ์ด์จ๋ ์ SSH ํค๋ฅผ ์ค์ ํ ๋ ์คํํ๋๋ก ์ง์ํ๋ ์ผ๋ จ์ ๋ช ๋ น์ ๋๋ค.
์ด ์ค๋ ๋์ ๋๋ถ๋ถ์ ์ฝ์ง ์์์ง๋ง ๋๋ฅผ ์ํด ์ด๊ฒ์ ํจ๊ณผ๊ฐ ์์์ ์ธ์ ํฉ๋๋ค.
@cleidigh @joaomoreno ์ด๊ฒ์ ๋ฒ๊ทธ๊ฐ ์๋๋ผ ํนํ macOS์์ ssh ํค๋ฅผ ๋ถ์ ์ ํ๊ฒ ์ค์ ํ์ ์ ์์ต๋๋ค. Sierra๋ ํค๊ฐ ์ธ์ ์ ์ ์ง๋๋ ๋ฐฉ์์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
์ํธ์์ด ์ sshkey๋ฅผ ๋ค์ ์์ฑํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ๋๋ ์๋ง๋ vscode๊ฐ ์ํธ๋ฌธ์ ์ ๋ ฅํ๋๋ก ์ ธ์ ์ด ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
ssh-add -K ~/.ssh/id_rsa
Mac ํค ์ฒด์ธ์ ๋ด ํค๋ฅผ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ id_rsa
๋ฅผ ํค๋ก ๋ฐ๊ฟ๋๋ค.
Windows 10์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ :
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
ssh-add
์ฐธ๊ณ : Windows ์ฉ Git์ ์ค์นํ ๋ PATH์ bash ๋ช
๋ น์ ์ถ๊ฐํ๋ ์ต์
์ ์ ํํ ๊ฒฝ์ฐ ssh-add ๋ช
๋ น์ด ์๋ชป๋ ์คํ ํ์ผ์ ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํฌํจ ๋ ํค๋ฅผ ์๋์ผ๋ก ์คํํ์ฌ ์์ด์ ํธ์ ํค๋ฅผ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
C:\Windows\System32\OpenSSH\ssh-add.exe
์ด์ ๊ธฐ๋ณธ ์ ๊ณต OpenSSH ์ธ์ฆ ์์ด์ ํธ๊ฐ ์์์ ์ํธ๋ก ๋ณดํธ ๋ ํค๊ฐ ์ ๊ธ ํด์ ๋ ์ํ๋ก ์คํ๋๊ณ Git์ ์์ฒด ์์ ๋์ Windows OpenSSH๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ๋งค๋ฒ ์ํธ๋ฅผ ์ ๋ ฅ ํ ํ์๊ฐ ์์ผ๋ฉฐ ssh ์์ด์ ํธ๋ฅผ ์๋์ผ๋ก ์์ํ ํ์๊ฐ ์์ผ๋ฉฐ ๋ช ๋ น ์ค์์ VS Code๋ฅผ ์์ํ ํ์๊ฐ ์์ต๋๋ค.
LynnScarlett์ด ์์ ์ฐจ๋ฆฐ๋๋ก ํค์ ๋ํ ์ํธ๋ฅผ ์ ๋ ฅ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ ํค ์ฒด์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํ์ง ์์ต๋๋ค. VSC๊ฐ์ด ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊น์?
ํค ์ฒด์ธ์ด ์ด๋ป๊ฒ ์์ ํ์ง ์์์ง ์ ์ ์์ต๋๋ค. ๋ํ ๋๋ฆฌ ์ฌ์ฉ๋๋ IDE๋ ์ํธ ์ ๋ ฅ์ ํ์ฉํ๋ฏ๋ก VSC๋ ๋ ๊ฐ์ง ์ ๋ ฅ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ง์ํ ์ ์์ต๋๋ค.
ssh-agent๋ฅผ ์๋ฏธํ์ต๋๋ค. ๋ ๊ฐ์ง๋ฅผ ํผ๋ ํ ์ ์์ต๋๋ค. ํ์คํ์ง ์์ต๋๋ค.)
Ssh-agent๋ ์ธ์ ๋น ํค๋ฅผ๋ก๋ํ๋ค๋ ์ ์์ "์์ ํ์ง ์์ต๋๋ค". ์์๋ ์์คํ ์ด์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด๊ฒ์ ssh-agent ์ฌ์ฉ์ ๋ถ์์ ์ฑ์ ๋ ์์ธํ ์ค๋ช
ํฉ๋๋ค.
http://rabexc.org/posts/pitfalls-of-ssh-agents
๊ฑด๋ฐฐ!
์ด๊ฒ๋ค์ ๋ชจ๋ ์์ฝ๋ฉ๋๋ค : ๋ฃจํธ ์ก์ธ์ค ๊ถํ์ด์๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์์ ์ ์ปดํจํฐ๋ฅผ ์ ๋ขฐํ์ง ๋ง์ญ์์ค. ์ด์จ๋ ๊ทธ๋ ๊ฒํด์๋ ์๋ฉ๋๋ค. ๋ค์ ๋งํ์ง๋ง, ํด๋น ๊ธฐ์ฌ์ ์ธ๋ถ ์ฌํญ์ผ๋ก ์ธํด ssh-agent๊ฐ ์์๋๋ฉด ๋ ํฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
@whatsyourgithub ์๋ฃจ์ ์ด ์ ์๊ฒ
VS ์ฝ๋ ๋ฒ์ : ์ฝ๋ 1.27.2 (f46c4c4, 2018-09-12T16 : 17 : 45.060Z)
OS ๋ฒ์ : Windows_NT x64 10.0.17134
์์ ๋ฒ์ 2.19.0.windows.1
๊ทธ๋๋ ์๋์ด ์๋๋.
์ด์ 2 ๋ ์ด ์ง๋ฌ์ง ๋ง ์์ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค. Atom์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์ ์ฉ๋๋ฏ๋ก ์ฝ๊ฒ ์ถ๊ฐ ํ ์์๋ ํญ๋ชฉ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด๊ฐ ์ ๋ง๋ก ์ํ๋ ๊ฒ์ ์์ค ์ ์ดํ์ ์ถ๊ฐ ์์ ... git ๋๋กญ ๋ค์ด์์ ํธ์ (์ํธ ํฌํจ) ์ ๋๋ค.
ํธ์ ํ ๋๋ง๋ค ์ํธ๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ด ๊ธฐ์ฉ๋๋ค. ๋ช ๋ น ์ค๋ก ์ด๋ํ์ฌ ์์ git ๋ช ๋ น์ ์ ๋ ฅ ํ ํ์๊ฐ ์์ต๋๋ค.
์ด์ 2 ๋ ์ด ์ง๋ฌ์ง ๋ง ์์ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค. Atom์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์ ์ฉ๋๋ฏ๋ก ์ฝ๊ฒ ์ถ๊ฐ ํ ์์๋ ํญ๋ชฉ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด๊ฐ ์ ๋ง๋ก ์ํ๋ ๊ฒ์ ์์ค ์ ์ดํ์ ์ถ๊ฐ ์์ ... git ๋๋กญ ๋ค์ด์์ ํธ์ (์ํธ ํฌํจ) ์ ๋๋ค.
ํธ์ ํ ๋๋ง๋ค ์ํธ๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ด ๊ธฐ์ฉ๋๋ค. ๋ช ๋ น ์ค๋ก ์ด๋ํ์ฌ ์์ git ๋ช ๋ น์ ์ ๋ ฅ ํ ํ์๊ฐ ์์ต๋๋ค.
ssh ๋์ https๋ก ์ ์ฅ์๋ฅผ ๋ณต์ ํด๋ณด์ญ์์ค. ๋ฐ๋ผ์ VS Code๊ฐ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๋ฅผ ์์ฒญํฉ๋๋ค.
๋ฐฉ๊ธ Atom์์ VS Code์์ Github Pull Request๋ฅผ ํ์ธํ๊ธฐ ์ํด ์์ผ๋ฉฐ ์ฒซ ๋ฒ์งธ ์๊ฐ์
์ฌ๋ฐ๋ฅธ ์ก์ธ์ค ๊ถํ์ด ์๋์ง ํ์ธํ์ญ์์ค
์ ์ฅ์๊ฐ ์กด์ฌํฉ๋๋ค.
git show : index.html
git pull --tags origin master
git show : index.html
[email protected] : ๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค (๊ณต๊ฐ ํค).
์น๋ช ์ : ์๊ฒฉ ์ ์ฅ์์์ ์ฝ์ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ์ก์ธ์ค ๊ถํ์ด ์๋์ง ํ์ธํ์ญ์์ค
์ ์ฅ์๊ฐ ์กด์ฌํฉ๋๋ค.
๋ฐ๋ผ์ ์ํธ๋ฅผ ์
๋ ฅํ์ง ์๊ณ ssh ํค๋ง์ผ๋ก ์ต์
์ ์ฌ์ฉํ์ง ์์ ๊ฒ์
๋๋ค.
๊ทธ๋์ ๋์ค์ VS ์ฝ๋์ Github Pull Request ํ์ฅ์ผ๋ก ๋์์ฌ ๊ฒ์
๋๋ค.
์ง๊ธ๊น์ง ์ปค๋ฎค๋ํฐ๊ฐ ์ํ ํ ์์
์ด ๋ง์์ ๋ค๋ฉฐ ํฅํ ๋ณด์ ์ ํธ๋์ ํจ๊ป์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
ssh ๋์ https๋ก ์ ์ฅ์๋ฅผ ๋ณต์ ํด๋ณด์ญ์์ค. ๋ฐ๋ผ์ VS Code๊ฐ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๋ฅผ ์์ฒญํฉ๋๋ค.
๊ณ ๋ง์, ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. Windows ์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ์ ์ฉ Git์ ์ค์นํ๊ณ VS ์ฝ๋์ git bash ์
ธ์ ๋ค์ ๋ช
๋ น์ ์
๋ ฅํ๋ ๊ฒฝ์ฐ :
git config --global credential.helper manager
๊ทธ๋ฐ ๋ค์ Gitlab ์ฌ์ฉ์ ID ๋ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ์
๋ ฅํ์ง ์๊ณ ๋ ๋๊ธฐํ ๋ฐ ๊ฐ์ ธ ์ค๊ธฐ๊ฐ ์๋ํฉ๋๋ค.
Gitlab ๋ฆฌํฌ์งํ ๋ฆฌ ๊ฒฝ๋ก ๊ธฐ๋ณธ๊ฐ ์ธ SSH์ ๋ํด ๋์ผํ ์์ ์ ์ํ ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
@whatsyourgithub , ์๋ฃจ์
์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง (๊ธฐ๋ณธ์ ์ด๊ณ ๋ฒ๊ทธ๊ฐ์๋ "๋ช
๋ น ํ๋กฌํํธ๋ฅผ ํตํด VSC ์คํ"๋ณด๋ค ๋ซ๊ฒ ๋ณด์) VSC ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
Git : ํด๋น ID ์์ : /C/Users/myuser/.ssh/myrsaKey_rsa
ํ์ผ์ด ์์ง๋ง.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ๊ฒ์ ... C : WindowsSystem32OpenSSHssh-add.exe๋ฅผ ์๋ํ๋ ๋์ No such file or directory๋ ์ป์ต๋๋ค.
VSCode powershell์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ช
๋ น์ ์
๋ ฅํ๊ณ ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?
SSH๊ฐ ์๋ https๋ก ์ ํํ์ต๋๋ค. ๊ทธ๊ฒ์ด ๋ด๊ฐ ๋ฉ์ง๊ฒ ํ๋ ์ด ํ ์์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ Github๋ ์ค์ ๋ก SSH ๋์ https ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.
@whatsyourgithub , ์๋ฃจ์ ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง (๊ธฐ๋ณธ์ ์ด๊ณ ๋ฒ๊ทธ๊ฐ์๋ "๋ช ๋ น ํ๋กฌํํธ๋ฅผ ํตํด VSC ์คํ"๋ณด๋ค ๋ซ๊ฒ ๋ณด์) VSC ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
Git : ํด๋น ID ์์ : /C/Users/myuser/.ssh/myrsaKey_rsa
ํ์ผ์ด ์์ง๋ง.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ๊ฒ์ ... C : WindowsSystem32OpenSSHssh-add.exe๋ฅผ ์๋ํ๋ ๋์ No such file or directory๋ ์ป์ต๋๋ค.
VSCode powershell์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ช ๋ น์ ์ ๋ ฅํ๊ณ ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?
์ค์ํ์ง๋ ์์ง๋ง ๋จผ์ VS Code ์ธ๋ถ์์ Powershell์ ์ด์ด ๋ณด๊ฒ ์ต๋๋ค.
OpenSSH๋ ์ต์ ๋ฒ์ ์ Windows 10๊ณผ ํจ๊ป ์ค์น๋์ด์ผํฉ๋๋ค. ์
๋ฐ์ดํธ ํด๋ณด์ธ์.
๊ทธ๋๋ ์๋ํ์ง ์์ผ๋ฉด ์ค์ > ์ฑ> ์ฑ ๋ฐ ๊ธฐ๋ฅ> ์ ํ์ ๊ธฐ๋ฅ ๊ด๋ฆฌ> ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ์ด๋ํ์ฌ OpenSSH๋ฅผ ์ฐพ์ผ์ญ์์ค.
@whatsyourgithub , ์๋ฃจ์ ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง (๊ธฐ๋ณธ์ ์ด๊ณ ๋ฒ๊ทธ๊ฐ์๋ "๋ช ๋ น ํ๋กฌํํธ๋ฅผ ํตํด VSC ์คํ"๋ณด๋ค ๋ซ๊ฒ ๋ณด์) VSC ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
Git : ํด๋น ID ์์ : /C/Users/myuser/.ssh/myrsaKey_rsa
ํ์ผ์ด ์์ง๋ง.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ๊ฒ์ ... C : WindowsSystem32OpenSSHssh-add.exe๋ฅผ ์๋ํ๋ ๋์ No such file or directory๋ ์ป์ต๋๋ค.
VSCode powershell์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ช ๋ น์ ์ ๋ ฅํ๊ณ ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?์ค์ํ์ง๋ ์์ง๋ง ๋จผ์ VS Code ์ธ๋ถ์์ Powershell์ ์ด์ด ๋ณด๊ฒ ์ต๋๋ค.
OpenSSH๋ ์ต์ ๋ฒ์ ์ Windows 10๊ณผ ํจ๊ป ์ค์น๋์ด์ผํฉ๋๋ค. ์ ๋ฐ์ดํธ ํด๋ณด์ธ์.
๊ทธ๋๋ ์๋ํ์ง ์์ผ๋ฉด ์ค์ > ์ฑ> ์ฑ ๋ฐ ๊ธฐ๋ฅ> ์ ํ์ ๊ธฐ๋ฅ ๊ด๋ฆฌ> ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ์ด๋ํ์ฌ OpenSSH๋ฅผ ์ฐพ์ผ์ญ์์ค.
์๋
ํ์ธ์.
๋ต์ฅ ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
OpenSSH (ํด๋ผ์ด์ธํธ)๊ฐ ์ด๋ฏธ ์ค์น๋์์ต๋๋ค.
standaone powershell์ ์ฌ์ฉํ์ฌ ์ ์ฐจ๋ฅผ ๋ฐ๋ณตํ์ง๋ง ์ค๋ฅ ๋ฉ์์ง๊ฐ ๊ณ์ ๋ํ๋ฉ๋๋ค.
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
RSAPRIVKEY_rsa์ ์์ ๊ถ๊ณผ ๊ด๋ จ์ด ์์ต๋๊น? powershell์ ์ฌ์ฉํ์ฌ ํค๋ฅผ ๋ฐ๊ธํ์ง ์์์ง๋ง ๋ค๋ฅธ ์์น์์ ๋ณต์ฌํ์ต๋๋ค (์ด์จ๋ ์์ค ํธ๋ฆฌ ๋๋ Git GUI์์ ์๋ ํจ).
@whatsyourgithub , ์๋ฃจ์ ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง (๊ธฐ๋ณธ์ ์ด๊ณ ๋ฒ๊ทธ๊ฐ์๋ "๋ช ๋ น ํ๋กฌํํธ๋ฅผ ํตํด VSC ์คํ"๋ณด๋ค ๋ซ๊ฒ ๋ณด์) VSC ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
Git : ํด๋น ID ์์ : /C/Users/myuser/.ssh/myrsaKey_rsa
ํ์ผ์ด ์์ง๋ง.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค๋ฅธ ๊ฒ์ ... C : WindowsSystem32OpenSSHssh-add.exe๋ฅผ ์๋ํ๋ ๋์ No such file or directory๋ ์ป์ต๋๋ค.
VSCode powershell์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ๋ช ๋ น์ ์ ๋ ฅํ๊ณ ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?์ค์ํ์ง๋ ์์ง๋ง ๋จผ์ VS Code ์ธ๋ถ์์ Powershell์ ์ด์ด ๋ณด๊ฒ ์ต๋๋ค.
OpenSSH๋ ์ต์ ๋ฒ์ ์ Windows 10๊ณผ ํจ๊ป ์ค์น๋์ด์ผํฉ๋๋ค. ์ ๋ฐ์ดํธ ํด๋ณด์ธ์.
๊ทธ๋๋ ์๋ํ์ง ์์ผ๋ฉด ์ค์ > ์ฑ> ์ฑ ๋ฐ ๊ธฐ๋ฅ> ์ ํ์ ๊ธฐ๋ฅ ๊ด๋ฆฌ> ๊ธฐ๋ฅ ์ถ๊ฐ๋ก ์ด๋ํ์ฌ OpenSSH๋ฅผ ์ฐพ์ผ์ญ์์ค.์๋ ํ์ธ์.
๋ต์ฅ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
OpenSSH (ํด๋ผ์ด์ธํธ)๊ฐ ์ด๋ฏธ ์ค์น๋์์ต๋๋ค.
standaone powershell์ ์ฌ์ฉํ์ฌ ์ ์ฐจ๋ฅผ ๋ฐ๋ณตํ์ง๋ง ์ค๋ฅ ๋ฉ์์ง๊ฐ ๊ณ์ ๋ํ๋ฉ๋๋ค.
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
RSAPRIVKEY_rsa์ ์์ ๊ถ๊ณผ ๊ด๋ จ์ด ์์ต๋๊น? powershell์ ์ฌ์ฉํ์ฌ ํค๋ฅผ ๋ฐ๊ธํ์ง ์์์ง๋ง ๋ค๋ฅธ ์์น์์ ๋ณต์ฌํ์ต๋๋ค (์ด์จ๋ ์์ค ํธ๋ฆฌ ๋๋ Git GUI์์ ์๋ ํจ).
ํ์ธ. ํด๊ฒฐ .. ./ssh/config ํ์ผ์ ssh ํค์ C : Users์ ๋ํ ๊ฒฝ๋ก๊ฐ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ํค๋ฅผ ๋ฑ๋กํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
๊ฐ์ฌ
@whatsyourgithub , ๋ค์ ๋ฐฉํดํด์ ์ฃ์กํฉ๋๋ค. ๋๋ ๋๋ฃ๋ฅผ ๋์ฐ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ง๋ง ๊ทธ๋ ์ฑ๊ณตํ์ง ๋ชปํฉ๋๋ค (์์์ ์ ์ํ๋๋ก ์ํํ๋ ๊ฒ์ด ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ๊ทธ๋ฅผ์ํ ๊ฒ์ ์๋๋๋ค). ๋ค์์ ์ฆ์์
๋๋ค.
๊ทธ๋ PS ์ฝ์์์ git fetch๋ฅผ ์ํ ํ ์ ์์ง๋ง gitacora (์๋์ผ๋ก ๋๊ธฐํํ๋ ํ๋ฌ๊ทธ์ธ-๋ฌธ์ ์์ด ์ฌ์ฉํ๋ ํ๋ฌ๊ทธ์ธ)๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ํ๊ฑฐ๋ ๋๊ธฐํํ๋ฉด ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
Permission denied (publickey).
C:\Windows\System32\OpenSSH\ssh-add.exe -L
๊ณต๊ฐ ํค๋ฅผ ๊ฒ์ํ๊ณ PS์์ git fetch ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ์๋ํ๊ธฐ ๋๋ฌธ์ OpenSSH์ ์ํด ํค๊ฐ ์ถ๊ฐ๋์์์ ์๊ณ ์์ต๋๋ค.
๊ทธ๊ฐ ์ง๋จ / ์์ ์ ์ด๋ป๊ฒ ๋์ธ ์ ์๋์ง์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
@whatsyourgithub , ๋ค์ ๋ฐฉํดํด์ ์ฃ์กํฉ๋๋ค. ๋๋ ๋๋ฃ๋ฅผ ๋์ฐ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ง๋ง ๊ทธ๋ ์ฑ๊ณตํ์ง ๋ชปํฉ๋๋ค (์์์ ์ ์ํ๋๋ก ์ํํ๋ ๊ฒ์ด ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ๊ทธ๋ฅผ์ํ ๊ฒ์ ์๋๋๋ค). ๋ค์์ ์ฆ์์ ๋๋ค.
๊ทธ๋ PS ์ฝ์์์ git fetch๋ฅผ ์ํ ํ ์ ์์ง๋ง gitacora (์๋์ผ๋ก ๋๊ธฐํํ๋ ํ๋ฌ๊ทธ์ธ-๋ฌธ์ ์์ด ์ฌ์ฉํ๋ ํ๋ฌ๊ทธ์ธ)๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ํ๊ฑฐ๋ ๋๊ธฐํํ๋ฉด ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
Permission denied (publickey).
C:\Windows\System32\OpenSSH\ssh-add.exe -L
๊ณต๊ฐ ํค๋ฅผ ๊ฒ์ํ๊ณ PS์์ git fetch ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ์๋ํ๊ธฐ ๋๋ฌธ์ OpenSSH์ ์ํด ํค๊ฐ ์ถ๊ฐ๋์์์ ์๊ณ ์์ต๋๋ค.
๊ทธ๊ฐ ์ง๋จ / ์์ ์ ์ด๋ป๊ฒ ๋์ธ ์ ์๋์ง์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
๊ทธ์ ํค๊ฐ ๊ทธ์ github ๊ณ์ ์ ์ฐ๊ฒฐ๋์ง ์์๊ฑฐ๋ ๊ทธ์ github ๊ณ์ ์ด ์ ์ฅ์์ ๊ณต๋ ์์ ์๋ก ์ถ๊ฐ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ์ ํค๊ฐ ๊ทธ์ github ๊ณ์ ์ ์ฐ๊ฒฐ๋์ง ์์๊ฑฐ๋ ๊ทธ์ github ๊ณ์ ์ด ์ ์ฅ์์ ๊ณต๋ ์์ ์๋ก ์ถ๊ฐ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ bitbucket ์๋ฒ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๊ณ ๊ฑฐ๊ธฐ์ ๊ทธ์ pub ํค๋ฅผ ์ถ๊ฐํ์ต๋๋ค (์ค์ ๋ก ๊ทธ๋ PowerShell์ ํตํด ๋ช
๋ น ์ค์ ์ฌ์ฉํ ๋ ๊ฐ์ ธ ์ค๊ธฐ ๋ฐ ํธ์์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค).
์๋๋ฉด ๋น์ ์ ๋๋ต์์ ์กํ์ง ์์ ๊ฒ์ด ์์ต๋๊น?
ssh-add -K ~/.ssh/id_rsa
Mac ํค ์ฒด์ธ์ ๋ด ํค๋ฅผ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐid_rsa
๋ฅผ ํค๋ก ๋ฐ๊ฟ๋๋ค.
macOS High Sierra ๋ ์ฝ๋
[email protected] : ๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค (๊ณต๊ฐ ํค).
์น๋ช
์ : ์๊ฒฉ ์ ์ฅ์์์ ์ฝ์ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ช ๋ น ์ค์์ ์๋ฒฝํ๊ฒ ์๋ํ๋๋ผ๋ ํตํฉ ๋ git์ด vscode ๋ด์์ ์๋ํ์ง ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
@whatsyourgithub ์ id_rsa๋ฅผ ์์ฑ ํ ํ git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
๋ฅผ ํตํด ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ssh-add .ssh\id_rsa
๋ฅผ ํตํด PC์์ ์ข
๋ฃ ๋ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ํค๋ฅผ ์ถ๊ฐ ํ ์์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ์ด์ ์ ์ถ๊ฐ ํ ๊ฒ๊ณผ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค.@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions for 'D:/ablob/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:/ablob/.ssh/id_rsa": bad permissions
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
์ด์์ฒด์ : Windows 10
VSC : 1.28
์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
๊ฐ๊น์ด ์ฅ๋์ ์ด๊ฒ์ ์ฒ๋ฆฌ ํ ๊ณํ์ด ์์ต๋๊น?
์ด ๋๊ธ์ MacOS X ๐ โค๏ธ
VS Code ๋ฌธ์ (https://code.visualstudio.com/docs/editor/versioncontrol)์ ๋ฐ๋ฅด๋ฉด :
VS Code์์ SSH Git ์ธ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๊น?
์, VS Code๋ ์ํธ์์ด SSH ํค๋ก ๊ฐ์ฅ ์ฝ๊ฒ ์๋ํฉ๋๋ค. ์ํธ๊ฐ์๋ SSH ํค๊ฐ์๋ ๊ฒฝ์ฐ SSH ํ๊ฒฝ์ ์์ํ๋ ค๋ฉด Git Bash ํ๋กฌํํธ์์ VS Code๋ฅผ ์์ํด์ผํฉ๋๋ค.
์ด ํ์ด์ง์ ๋ ์ง๋ 2018 ๋ 12 ์ 12 ์ผ์ ๋๋ค.
๊ทธ๋์ ๋ฐฉ๊ธ ์ํธ์์ด ์ ssh ํค๋ฅผ ์์ฑํ๊ณ (๋ฉ์์ง๊ฐ ํ์๋๋ฉด ๋น์๋๊ณ ์ด์ ํค๋ฅผ ๋ฎ์ด ์) GH์ ๋ด ๊ณ์ ์ ์ถ๊ฐํ๊ณ ssh-add.exe ~\.ssh\id_rsa
๋ฅผ ์คํํ์ฌ ssh-agent์ ID๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๋ค๋ฉด ๊ณต์ VS Code ๋ฌธ์์ ์ด๋ฏธ git-bash์์ VS Code๋ฅผ ์์ํ์ฌ ์ํธ๋ก๋ง ์๋ํ๋ค๊ณ ๋ช ์๋์ด ์์ผ๋ฏ๋ก์ด ์ฃผ์ ๋ฅผ ๋ซ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๋ค๋ฉด ๊ณต์ VS Code ๋ฌธ์์ ์ด๋ฏธ git-bash์์ VS Code๋ฅผ ์์ํ์ฌ ์ํธ๋ก๋ง ์๋ํ๋ค๊ณ ๋ช ์๋์ด ์์ผ๋ฏ๋ก์ด ์ฃผ์ ๋ฅผ ๋ซ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ธ์์, ๋ฌธ์์๋ "๊ฐ์ฅ ์ฝ๊ฒ"๋ผ๊ณ ๋์ด ์์ต๋๋ค. ํค์ ์ํธ๊ฐ์์ ๋ ์ ํ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ด ์๋๋ผ Git Bash ํ๋กฌํํธ์์ VS Code๋ฅผ ์์ํ๋ผ๋ ์ ์์ Git-for-Windows๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์๊ฒ๋ง ํ์ํฉ๋๋ค. ํค๋ฅผ ๊ด๋ฆฌํ๊ธฐ์ํ SSH ์์ด์ ํธ.
์ค์ ๋ก Windows์ SSH ์์ด์ ํธ (Windows ์ฉ Git์ ํจ๊ป ์ ๊ณต๋๋ ์์ด์ ํธ๊ฐ ์๋)๋ฅผ ์ฌ์ฉํ๊ณ ๋ด (์ํธ๋ก ๋ณดํธ ๋) SSH ํค๋ฅผ๋ก๋ ํ ๋ค์ (ํน์ ๋ช ๋ น ํ๋กฌํํธ๊ฐ ์๋) ์ ์์ ์ผ๋ก VS Code๋ฅผ ์์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋ด ํค๊ฐ ํ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฑ๊ณต์ ์ผ๋ก git push / pull์ ํ ์ ์์ต๋๋ค.
git bash๋ฅผ ํตํด VS ์ฝ๋๋ฅผ ์ด๋ฉด ssh ํค๋ฅผ ๋ฌป๊ณ VS ์ฝ๋์์ ํฐ๋ฏธ๋์์ ssh ์ํธ๋ฅผ ๋ฌป์ต๋๋ค.
ํฐ๋ฏธ๋์์ ๊ฐ๋ฅํ ๋ Windows 10์์ VSCode์ ์ ์ฌํ ๋ฌธ์ ๊ฐ _ ssh : // repo_ ์์ ๋ฐ๊ฑฐ๋ ๋น๊ธฐ์ง ์์์ต๋๋ค.
CMDer๋ฅผ git-for-windows์ ํจ๊ป ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ VSCode๋ ์ด๋ฌํ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ git.path๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ๋ํ ํ์ํ ๋ชจ๋ ์ต์ ๊ณผ ID ํ์ผ์ด ๊ณต๊ฐ ํค ํ์ผ๋ก ์ค์ ๋ _ % USERPROFILE % \. ssh_ ๋๋ ํ ๋ฆฌ์ ssh ๊ตฌ์ฑ ํ์ผ์ด ์์ต๋๋ค. KeeAgent๊ฐ์๋ KeePass๊ฐ ํค๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํฐ๋ฏธ๋ (CMDer)์ ๋จผ์ ์คํ ํ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ ์ด์ ์ ์ธ๊ธ ํ ์ ์ฐจ๊ฐ ์ ๋๋ก ์๋ํ์ง๋ง ๋ง์์ ๋ค์ง ์์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๋ค๋ฅธ ์ ๊ทผ๋ฒ์ (์ฑ๊ณต์ ์ผ๋ก) ์๋ํ์ต๋๋ค.
git.exe ๋๋ ํ ๋ฆฌ์์ cmd ํ์ผ์ ๋ง๋ค์์ต๋๋ค.
<strong i="10">@echo</strong> off
set SSH_AUTH_SOCK=/path/to/my/sock.file
%~dp0git.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
(SSH_AUTH_SOCK ๊ฒฝ๋ก์๋ ์ฌ๋์๊ฐ ์์ด์ผ ํจ) ์ฝ๋์์ git.path ์ต์ ์ ๊ฐ๋ฆฌ ์ผฐ์ต๋๋ค.
์ด์ ์ฝ๋๊ฐ ์์๋๊ณ ์ถ๊ฐ "ํดํน"์์ด _ ~ / .ssh / config_ ํ์ผ์ ์ฝ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฉฐ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํธ์งํ๋ค:
SSH_AUTH_SOCK ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ญ ์ ์ผ๋ก ์ค์ ํ๋ฉด ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ก์ธ์ค ํ ์์๋ ํค ๋น์ฉ์ผ๋ก ์ธํด ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
"you'll need to launch VS Code from a Git Bash prompt to inherit its SSH environment."
๋ด๊ฐ Microsoft์์๋ค์ ๊ฒ ์ค ๊ฐ์ฅ ํ๋ฒํ ๊ฒ ์ค ํ๋์ ๋๋ค. ssh๋ฅผ ์๋์ํค๊ธฐ ์ํด ํน์ ๋ช ๋ น ์ค์์ VS Code๋ฅผ ์์ํ ํ์๊ฐ ์์ต๋๋ค. ์ ์ ํ ์๋ฃจ์ ์ ๊ตฌํํ๋ ค๊ณ ํ ์ ์์ต๋๋ค.
๋ฐฑ ๋ก๊ทธ? ์ ๋ง?
์ด๋ก ์ธํด ํฉ๋ฆฌ์ ์ผ๋ก ์ ์๋ํ๋ powershell ๋ฐ posh-git๋ก ์ ํํ์ต๋๋ค. ssh-agent๊ฐ ์ํํ๊ฒ ์๋ํ๋ ค๋ฉด ๋ค์์ $profile.CurrentUserAllHosts
์ ์ถ๊ฐํด์ผํ์ต๋๋ค (๊ธฐ๋ณธ๊ฐ์ C:\Users\USERNAME\Documents\WindowsPowerShell\profile.ps1
).
Import-Module posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
Start-SshAgent -Quiet
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ํ์ธํ ์ ์๋ค๋ฉด ๊ณต์ VS Code ๋ฌธ์์ ์ด๋ฏธ git-bash์์ VS Code๋ฅผ ์์ํ์ฌ ์ํธ๋ก๋ง ์๋ํ๋ค๊ณ ๋ช ์๋์ด ์์ผ๋ฏ๋ก์ด ์ฃผ์ ๋ฅผ ๋ซ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ฌ๊ธฐ์ ๋์ํ์ง ์์ต๋๋ค.์ด ๋ฌธ์ ๋ VS Code์์ ์ ์ ํ SSH ์ํธ ์ง์์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ด๋ฉฐ, ๋ฌธ์ํ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋จ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฒ์ผ๋ฅธ ์ฌ์ฉ์๊ฐ ์ข์ ์ํธ ๋ณด์์ ๊ฑด๋ ๋ฐ๋ ค๋ ์ ํน์ด ์ด๋ฏธ ๋๋ฌด ๋ง์ผ๋ฏ๋ก ์ต์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฐ๋ฅธ ์์ ์ ์ฝ๊ฒ ์ํ ํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ด ์์์ ์ ์ํ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐฉ๊ธ bash ์คํฌ๋ฆฝํธ ํ์ผ (์ : projectName.sh
)์ ๋ง๋ค๊ณ ๋ค์์ ์์ฑํ์ต๋๋ค.
"location/to/Code.exe" "location/to/project"
์ด์ ํ์ผ์ ๋ ๋ฒ ํด๋ฆญํ์ฌ VSCode๋ฅผ ์ด๊ณ ์ํธ๊ฐ์๋ ์ธ์ฆ์๋ก ์์ ํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
BTW : ๋ค๋ฅธ ์ฌ๋๋ค์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ์ค๋ช
๋๋๋ก git config --global http.sslBackend schannel
๋ํด์ผ ํ์ต๋๋ค .
2 ๋ ์ด ์ง๋ ํ, "์ํธ๊ฐ์๋ ํค๋ฅผ ์ฌ์ฉํ์ฌ ssh๋ฅผ ์ฌ์ฉํ์ฌ git๋ก ์์ "ํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์์ง ๋ชป์๊ธด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐ๋์ง ์์๋ค๋ ์ฌ์ค์ ๋นํฉํฉ๋๋ค. VSCode๋ ํ๋ฅญํ ํธ์ง๊ธฐ IMHO์ด์ง๋ง์ด "๊ธฐ๋ฅ"์ด ์ ๋ง ํ์ํฉ๋๋ค. ์ฐ์ ์์๋ฅผ ์ง์ ํ์ญ์์ค
๋ค์์ ๋์์ด ๋ ์์๋ stackoverflow์ ๋ํ ์ค๋๋ ๊ฒ์๋ฌผ์ ๋๋ค. ํ ๊ฐ์ง ์ต์ ์ Windows Credential Manger๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. https://stackoverflow.com/questions/35110079/git-bash-pageant-not-using-keys/43313491#43313491
์ง๋ฌธ์ VSCode๊ฐ SSH / HTTPS ์๊ฒฉ ์ฆ๋ช ์ ํค ์ ์ฅ์ ๊ด๋ฆฌ์๋ก ์ฒ๋ฆฌํด์ผํ๋์ง ์ฌ๋ถ์ ๋๋ค. ์ด๊ฒ์ OS, ํ์ฌ ํ๋ก๊ทธ๋จ ๋๋ ์ฒ์ ๋ ์ง์ ๊ณผ ํผํฉ๋๋ git์ ์ ์ ํ ๊ตฌ์ฑ์ ์ํด ์ฒ๋ฆฌ๋์ด์ผํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์๋ฆฌ๊ฐ ๋ง์์ ๋ค๋ฉด ์ด๋ฏธ Unix์ Windows๊ฐ VSCode์ ์ถ๊ฐํ์ง ์๊ณ ๋์ด ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌ ํ ์์๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ด github ๊ธฐ์ฌ์ ๋ด์ฉ์ด https://help.github.com/articles/connecting-to-github-with-ssh/์ ๋์์ด๋๋์ง ํ์คํ์ง ์์ต๋๋ค.
๊ถ๊ทน์ ์ผ๋ก ๊ทธ๋ค์ windows / ๋ค๋ฅธ bash windows ๋์์์ bash๋ฅผ ์ฌ์ฉํ๋๋ก ๋งํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฌ๋๋ค์ด ํดํค ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๋์ผํ ๋ฌธ์ ๋ก ๋์๊ฐ๋๋ค.
@ctsstc ์, Windows ์ฉ Git Credentials Manager๋ฅผ ์ค์นํ์ง๋ง ์ด๋ค ์ด์ ๋ก ์๋ํ์ง ์์ต๋๋ค. ์ด๊ฒ์ด VSCode์ ๋ํ ์ฑ ์์ด ์๋ ์ ์์์ ์๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Android Studio ๋ฐ IDEA ๊ธฐ๋ฐ IDE์์๋ git ๋ฐ์ด๋๋ฆฌ ๋ง ํธ์ถํ๋ ๋ฐ์๋ง ๊ด์ฌ์ด ์์ผ๋ฉฐ, ์์ ์ ์ํธ๊ฐ ํ์ํ ๋ ์ ์ผํ ํตํฉ์ IDE๊ฐ์ด๋ฅผ ์์ ํ๊ฒ ์ ์งํ๊ณ Git์ ์ ๋ฌํ๋ ๊ฒ์ ๋๋ค. ์ข์ ์ ๊ทผ์ ๋๋ค. ์๋ง๋ ์ด๊ฒ์ด ๊ทธ๋ค์ด ๋์น ์ ์ผํ ๊ฒ์ ๋๊น?
@ctsstc ๋งค์ฐ ๋์ํ์ง ์์ต๋๋ค. CLI ํ๋ก๊ทธ๋จ์ ๋ํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค (์ด ๊ฒฝ์ฐ GIT ๋ฅผ ์๋ฏธ ํจ)๋ฅผ ๊ตฌํํ ์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ์ด ํ์ํ ๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์ฃผ์ฅ
์ฌ๊ธฐ์ ์ค์ํ ์ ์ Atom์ด git repos์ ๋ํ SSH ์ํธ๋ฅผ ๊ธฐ์ตํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ ๋ค ๋์ผํ ํธ์ง ์์ง์ ๊ธฐ๋ฐ์ผ๋กํ๋ฏ๋ก vscode๊ฐ ๋๊ฐ์ด ํ ์ ์์ต๋๊น?
์ง๋ฌธ์ VSCode๊ฐ SSH / HTTPS ์๊ฒฉ ์ฆ๋ช ์ ํค ์ ์ฅ์ ๊ด๋ฆฌ์๋ก ์ฒ๋ฆฌํด์ผํ๋์ง ์ฌ๋ถ์ ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ํ์ํ๋ค๊ณ ๋ฏฟ์ง ์์ง๋ง, ๊ทธ๊ฒ์ด ์ฌ๊ธฐ์ ์๊ตฌ๋๋ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ง ์์ต๋๋ค. @Ivanca๊ฐ ์ง์ ํ๋ฏ์ด VSC๋ git ์์ UI๋ฅผ ํ์ํ๊ธฐ๋ก ์ ํํ๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ ํด๋น UI๋ฅผ ํตํด ์ผ๋ง๋ ๋ง์ git ๊ธฐ๋ฅ์ด ๋ ธ์ถ๋์ด์ผ ํ๋๊ฐ์ ๋๋ค. ๋ชจ๋ ๋ชจํธํ git ์์ ์ด VSC๋ฅผ ํตํด ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ์ง๋ ์์ง๋ง pull / push๋ ๊ธฐ๋ณธ์ ๋๋ค. VSC๊ฐ ๊ธฐ๋ณธ ์ํธ ๋ฌธ์ ์ UI ์ ์ฐฉ์ ๋ฅผ ์ ๊ณตํ์ง ์๊ณ ๋์ด๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ค๊ณ ์ฃผ์ฅ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐ๋ผ์ ์์๋๋ ๊ฒฐ๊ณผ๋ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ฒ์ ๋๋ค. ํฉ๋ฆฌ์ ์ธ ์ง๋ฌธ / ๊ธฐ๋ฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ณด์ฌ์ฃผ๋ ๋์ :
Permission denied, please try again.
Permission denied (publickey,password).
๋ฉฐ์น ์ ์ Mac์์ ์ต๊ทผ์์ด ๊ธฐ๋ฅ์ ๋ณธ ๊ฒ ๊ฐ์ง๋ง Windows์์ ๊ตฌํ๋์ง ์์๊ฑฐ๋ ์์คํ ํค ์ ์ฅ์์ ์ก์ธ์คํ๊ธฐ ์ํด ์์คํ ์ํธ๋ฅผ ์์ฒญํ์ ์ ์์ต๋๋ค.
ํธ์ง, ๋ฐฉ๊ธ Mac์์ ์๋ํ์ต๋๋ค.
๋ฐ๋ผ์ ์ด๊ฒ์ด Mac์์๋ ์ง์๋์ง๋ง Windows์์๋ ์ง์๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค (์ด ๋ฌธ์ ๊ฐ ์ฌ์ ํ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค). ๋ฐ๋ผ์ ๊ธฐ๋ฅ์ ๋ OS๊ฐ์ ํจ๋ฆฌํฐ๋ฅผ ๊ฐ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋ํ ์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ์ด ๋ฌธ์ ๊ฐ๋ณด๊ณ ๋ ์ง 2 ๋
์ด ์ง๋ฌ์ง ๋ง ์ฌ์ ํ VSCode๋ฅผ Git SSH์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๊ตฌ๋ ์ง Windows์์ ์ด๋ค ์ค ํ๋๋ฅผ ์๋ ํ์ต๋๊น?
@ctsstc ํฐ๋ฏธ๋ ํญ์์ Mac์์ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋ถ์กฑํ ์ ์ GUI์์ ํ / ํธ์ ๊ฐ์ ธ ์ค๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง์ ๋๋ค. ํค์ ์ํธ๊ฐ ์๋ค๋ ์ฌ์ค์ ๋ฌด์ํ๊ณ null / nil ์ํธ๋ฅผ ์ ์ถํ์ฌ git ์์ ์ด ์คํจํฉ๋๋ค.
VSC๊ฐ ํจ์ค ํ๋ ์ด์ฆ ์๊ฒฉ ์ฆ๋ช ์ ์บ์ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋๋ผ๋์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํ๋ค๊ณ ๊ตณ๊ฒ ์๊ฐํฉ๋๋ค. rsa ํค์ ์ํธ๊ฐ์์ ๋ ์คํจํ์ง ๋ง๊ณ ํค๋ฅผ ์ ๋ ฅํ์ญ์์ค.
์ธ์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ๊น์?
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊น์? Windows์์ ๋์ผํ ๋ฌธ์
ํฌ๋ง์ ์ด์ง ์์ต๋๋ค. ํฌ๊ธฐํ๊ณ SSH์์ https๋ก ์ ํํ์ต๋๋ค.
๋ด ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ : ๋ณดํต VSCode์์ ํฐ๋ฏธ๋์ด ์ด๋ ค ์์ผ๋ฏ๋ก (npm๊ณผ ์ํธ ์์ฉํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฑ) ๊ฑฐ๊ธฐ์์ git push
๋ง ์ํํฉ๋๋ค. ๊ทธ๊ฒ์ด ์๋ํ๋ ๋ฐฉ์์ ์๋์ง๋ง ์ ์ด๋ ๋ด ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
macOS์์๋ ๋งจ ๋์ ์ด๊ฒ์ ~/.ssh/config
์ ์ถ๊ฐํ์ต๋๋ค (์ค์ํ๋ฏ๋ก ์๋์ ์๋ฌด๊ฒ๋ ์
๋ ฅํ์ง ๋ง์ญ์์ค).
Host *
AddKeysToAgent yes
UseKeychain yes
๊ทธ๋ฐ ๋ค์ git pull
ํ์ฌ macOS๊ฐ ๋ด ssh ์ํธ๋ฅผ ๋ฌป์ต๋๋ค. ๊ทธ ํ macOS๋ ์ํธ๋ฅผ ๋ค์ ๋ฌป์ง ์์ผ๋ฏ๋ก VSCode์ ๋ฒ์ ์ ์ด๊ฐ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฑด๋ฐฐ!
๊ธฐํ ํด๊ฒฐ ๋ฐฉ๋ฒ :
๋๊ตฌ๋ ์ง Windows์์ ์ด๋ค ์ค ํ๋๋ฅผ ์๋ ํ์ต๋๊น?
์์ ๊ฐ์ด win32-openssh๋ฅผ ์ฌ์ฉํ์ฌ ํฐ๋ฏธ๋์์ git์ ๋ฐ์ด์ ํด๊ฒฐํฉ๋๋ค. ์ธ์๋๋ ssh : // ๊ฒฝ๋ก์ ๋ถ์กฑ์ ์ด์ ๊ด๋ จํ์ฌ ์ด๋ฏธ ์ ์ถ ํ ๋ฌธ์ ์ ๋๋ค. ๋ด ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก๋ ssh : //๋ฅผ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ git ๋ฐ python๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ์ฅ์ด ์๋ํ์ง ์๋ sshfs ํ์ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ด๋ฅผ ์ง์ํ ๊ณํ์ด ์์ต๋๊น?
์ด๊ฒ์ ์ฌ์ ํ โโ๋ฌธ์ ์ ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ฌ๋์์ํ ์ต์ ์ด ์๋๋๋ค. ์๋ฅผ ๋ค์ด ๋ค๋ฅธ ์ฌ๋์ด ๋ด ์ปดํจํฐ์ (์ ์ฌ์ ์ผ๋ก) ์ก์ธ์ค ํ ์ ์์ผ๋ฏ๋ก ํค๋ฅผ ์ ๊ธ ํด์ ํ์ง ์์ต๋๋ค. ์ ๊ฒฝ์ฐ์๋ ๋ช ๋ น ์ค์ git์ด ๋จ์ํ ์ํธ๋ฅผ ๋ฌป์ต๋๋ค. VS Code๊ฐ ํ์ ์์ ๋๊ฐ์ดํด์ผํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
์ค์ ๋ก 2 ๋ ์ด ์ง๋ ํ์๋์ด ๊ธฐ๋ฅ์ด ๊ธฐ๋ฅ์ด ์๋๋ผ๋ ์ฌ์ค์ ์ถฉ๊ฒฉ์ ๋ฐ์์ต๋๋ค. ์ฌ์ ํ ์ด๊ฒ์ด ์ ์ ํ๋์ง ์๊ณ ์ฐ์ ์์๊ฐ ์ง์ ๋์ง ์์๋์ง ๊ถ๊ธํฉ๋๋ค.
ํ์ฌ VSC ๋ฒ์ 1.34.0
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
Windows 10์์๋ ์ฌ์ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. OpenSSH๊ฐ Windows 10์ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ Putty๋ฅผ ์ ๊ฑฐํ์ง๋ง VS Code๊ฐ์ด๋ฅผ ์กด์คํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. VSCode์์ ํฐ๋ฏธ๋์ ์๋์ผ๋ก ๋ฐ๊ณ ๋น๊ฒจ์ผํ๋๋ฐ ์ ์๋ํ์ง๋ง ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋๊ธฐํ ํ ์ ์๋ค๋ ์ ์ด ์ข์์ต๋๋ค.
@ arcs- git์ด SSH ํค ํ์ ํ๋ก์ธ์ค์ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ง ์๊ธฐ ๋๋ฌธ์์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ ๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์ปดํจํฐ์ ์ก์ธ์ค ํ ์์๋ ๊ฒฝ์ฐ ์ฑ ์์์ ๋ฉ๋ฆฌ ๋จ์ด์ ธ์์ ๋ ์ ๊ธ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด macOS ๋๋ Windows์์ ssh-agent๋ฅผ ์์ํ์ฌ ์ฌ๊ธฐ์ ์ค๋ช ๋๋๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. https://help.github.com/en/articles/working-with-ssh-key-passphrases
@ flaw600 ์ด ํ๋ก์ธ์ค๋ ssh-agent๊ฐ ์ด๊ธฐํ ๋ ๋์ผํ git-bash ์ฐฝ์์ ์ฝ๋๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ์๋ง ๋์์ด๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋
3 ๋
์ด ๋์๊ณ ์ด ๋งํฌ๊ฐ ์ฌ์ ํ ์ ์ฉ ๊ฐ๋ฅํ๋ค๋ ์ฌ์ค์ ๋ถํํ ๊ฒ ๊ฐ์ต๋๋ค.
https://nathan.alner.net/2015/08/24/vs-code-ide-with-passphrased-git-ssh-keys/
์์ ๋ฉ๋ด๋ฅผ ํตํด code
์ ์ด๋ฉด ssh-agent๋ฅผ ๋ฌด์ํ๊ณ ํ / ํธ์์ ์คํจํฉ๋๋ค.
์ด๋ค ์ ์? ๋ค๋ฅธ ํ๋ซํผ์ ๋นํด ์ง๊ธ ๊ฐ๋ฐํ๋ ๊ฒ์ ์๋นํ ํฐ ๊ณ ํต์ ๋๋ค.
https๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ๋์ ์ฐ์ํ ์๋ฃจ์ ์ด์์ต๋๋ค. ์ก์ธ์ค๋ฅผ์ํ ํน์ ํ ํฐ์ ์์ฑ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ์์ ํ์ง๋ ์์ต๋๋ค. Windows SCM ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์๋ ๋ชจ๋ ๊ฒ์ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋ณด๋์ค๋ก HTTPS๊ฐ ์ค์ ๋ก SSH๋ณด๋ค ๋น ๋ฅด๋ค๊ณ ํ์ ํฉ๋๋ค.
@gdamore : HTTPS๊ฐ ์๋ค๋ ์ฃผ์ฅ์ ๋ท๋ฐ์นจํ๋ ๋ชจ๋ ์ฆ๊ฑฐ ์ฐธ์กฐ
SSH๋ณด๋ค ๋น ๋ฅด๋์?
2019 ๋ 6 ์ 17 ์ผ ์์์ผ 11:45์ gdamore [email protected]์ด ์์ฑํ์ต๋๋ค.
https๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ๋์ ์ฐ์ํ ์๋ฃจ์ ์ด์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ชจ๋ ๋นํธ
์ก์ธ์ค๋ฅผ์ํ ํน์ ํ ํฐ์ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ์์ ํฉ๋๋ค.
Windows SCM ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์๋ ๋ชจ๋ ๊ฒ์ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.๋ณด๋์ค๋ก HTTPS๊ฐ ์ค์ ๋ก SSH๋ณด๋ค ๋น ๋ฅด๋ค๊ณ ํ์ ํฉ๋๋ค.
โ
๋๊ธ์ ๋ฌ์ ๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AFLBAENFUKYEOE3WLKBGCJLP265Q7A5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBWW63LNMVX3761761JIWSZGODMVXHJKTissue ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AFLBAEOC5BVCGGJ7EDXTINTP265Q7ANCNFSM4CSXV3PQ
.
ํน๋ณํ git์ด ์๋๋ผ ๋ค๋ฅธ ์ฉ๋ (๋์ฉ๋ ํ์ผ ์ฌ๋ณธ)์์ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ณด์์ต๋๋ค. SSH๊ฐ ๋ํ ํ ์ฌ์ฉ์ ๋ ์ ํฉํ ๊ฐ์ ๊ฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ TCP ๊ณ์ธต์ ์ค์ ๋ ๊ฒ๋ค๊ณผ ์ค์ ๋ก ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํ์ง๋ง HTTP๋ ์ค์ ๋ก ํ์ผ ์ด๋์ ๋ ์ต์ ํ๋๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.์ด ๊ฒฝ์ฐ ์ค์ ๋ก git์ด ์ํํ๋ ์์ ์ ๋๋ค.
๋๋ ์ด๊ฒ์ ๋งํ๋ ๊ฒ์ด ์ซ์ง๋ง ๋ง์ ์ฒ๋ผ ๋๋ฅผ ์ํด ์ผํ๊ธฐ ์์ํ์ต๋๋ค. Powershell ๋๋ CMD๋ฅผ ํตํด SSH๋ฅผ ์์ํ๋์ง ํ์คํ์ง ์์ต๋๋ค. ๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ธ ๋ค์ ๋ง์ ์ฒ๋ผ ์๋ํ์ต๋๋ค.
Windows์์๋ pageant
๋ฅผ SSH ์์ด์ ํธ๋ก ์ฌ์ฉํ ๋ค์ ํ๊ฒฝ ๋ณ์ GIT_SSH
๋ฅผ plink
๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์ด ๋ ๋๊ตฌ๋ PuTTY์ ์ผ๋ถ์ด๋ฉฐ TortoiseGit๊ณผ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋ฉ๋๋ค.
๋๋ Mac์์ ์ข์ง ์์ต๋๊น?
2019 ๋ 7 ์ 3 ์ผ ์์์ผ ์ค์ 11:44 Justin [email protected] ์์ฑ :
Windows์์๋ pageant๋ฅผ SSH ์์ด์ ํธ๋ก ์ฌ์ฉํ ๋ค์ env๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
plink์ ๋ํ ๋ณ์ GIT_SSH. ์ด ๋ ๋๊ตฌ๋ ๋ชจ๋ PuTTY์ ์ผ๋ถ์ด๋ฉฐ
TortoiseGit๊ณผ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค.โ
๋๊ธ์ ๋ฌ์ ๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AFBZHXFVMRQ4DBPV2TLBBGTP5TJN7A5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXW2ZLOWSJKWSVREXG43VMVORQW63LNMVXHWSQWScomment-50
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AFBZHXD63DGD5FUXRJYMLXDP5TJN7ANCNFSM4CSXV3PQ
.
@ Jazun713 mac์ ์ ์๋ํฉ๋๋ค : https://github.com/microsoft/vscode/issues/13680#issuecomment -473190878
์ ์ด๊ฒ์ด ์ฌ์ ํ ๋ฌธ์ ์ ๋๊น?
์์ฐ, 3 ๋ ํ์๋ ์ฌ์ ํ ssh๋ฅผ ํตํด VS ์ฝ๋๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ ์ด๋ ๋ช ๋ น ์ค์์ ์์ํ๋ ค๋ฉด
๊ธ์, ๋๋ ๊ทธ๊ฒ์ ์ค์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ํธ๋ฅผ ๋์ง ๋ชปํ์ง๋ง ์ด๋ป๊ฒ ๋ VSCode๊ฐ ์ ์ด๋ ๋ฃจํธ๋ก ์ด๋ฆฌ๋ฉด (๋๋ Windows์์ ๊ด๋ฆฌ์๋ก) ssh๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ ์์์์ต๋๋ค. ์ด๊ฒ์ Openssh๋ฅผ ์ค์นํ๊ฑฐ๋ Windows์์ Putty์์ ์ฐ๊ฒฐ์ ์ค์ ํ ํ์ ๋๋ค. ssh ๊ตฌ์ฑ์ ํ์ธํ๊ณ ์ค์น ํ ํ https://help.github.com/en/articles/testing-your-ssh-connection ์ง์นจ์ ๋ฐ๋ผ ์ค์นํ์ต๋๋ค. ์ด๊ฒ๋ ์ฐธ์กฐํ์ญ์์ค. ๋ชจ๋ ๊ฒฝ์ฐ๋ ssh ์์ด์ ํธ์ OS๋ฅผ ์ค์ ํ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฏ๋ก ๋ง์ ์ ์ฉํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค (I am running Ubuntu 18.04) https://help.github.com/en/articles/ ์ค๋ฅ ๊ถํ ๊ฑฐ๋ถ ๊ณต๊ฐ ํค
๋ฒ์ 1.36.1์ ์ฌ์ฉํ๋ฉด ์ฌ์ ํ ์ํธ๋ก SSH๋ฅผ ํตํด Github์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ด ํค์์ ์ํธ๋ฅผ ์ ๊ฑฐํด์ผํ์ต๋๋ค. ๋ญ๊ฐ ๊ทธ๋ ๊ฒ ์ด๋ ค์ด๊ฐ์? HTTPS๋ฅผ ์ฌ์ฉํ๋ฉด git ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ฒญํฉ๋๋ค ... (์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ ๊ฒ์ ๋๋ค).
์ด๊ฒ์ ์ผ์ข ์ ์ฑ๊ฐ์ ์ผ์ ๋๋ค. SSH ํค์ ํจ๊ป ์ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณด์์ด ๊ฐํ๋ฉ๋๋ค. ๊ธฐ์ ์ ์ผ๋ก๋ 2FA์ ํ ํํ์ ๋๋ค (๋น์ ์ด ๊ฐ์ง๊ณ ์๋ ๊ฒ : ํค + ์๊ณ ์๋ ๊ฒ : ์ํธ). MacOS์์์ด ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ชจ๋ ์์ ์์ ์ ์ํด ์ฝ์๋ก ์ด๋ํ๋ ๊ฒ์ด ์ ๋ง ์ง์ฆ๋ฉ๋๋ค. VS Git UI๋ ์คํจํฉ๋๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค.
macOS์์๋ ๋งจ ๋์ ์ด๊ฒ์
~/.ssh/config
์ ์ถ๊ฐํ์ต๋๋ค (์ค์ํ๋ฏ๋ก ์๋์ ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ๋ง์ญ์์ค).Host * AddKeysToAgent yes UseKeychain yes
๊ทธ๋ฐ ๋ค์
git pull
ํ์ฌ macOS๊ฐ ๋ด ssh ์ํธ๋ฅผ ๋ฌป์ต๋๋ค. ๊ทธ ํ macOS๋ ์ํธ๋ฅผ ๋ค์ ๋ฌป์ง ์์ผ๋ฏ๋ก VSCode์ ๋ฒ์ ์ ์ด๊ฐ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.๋๊ตฐ๊ฐ์๊ฒ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฑด๋ฐฐ!
์์ ๋ด์ฉ์ ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค. ์๋ง๋ ์ฌ๊ธฐ์ ๋ฉ๋ชจ๊ฐ์์ ์ ์์ต๋๋ค : https://code.visualstudio.com/docs/setup/mac
Windows์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ ์ ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ป๋ ๊ฒ์ด ์ข์ต๋๋ค.
"์ ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ"์ git-scm ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์์ ํจ๊ป SSH ๋์ HTTPS URL์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋๋ฅผ ์ํด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
Windows 10 ์ฉ ๋ฉ์ผ์์ ๋ณด๋
๋ณด๋ธ ์ฌ๋ : Kai Richardson
์ ์ก : 2019 ๋
8 ์ 28 ์ผ ์์์ผ ์ค์ 9:33
๋ฐ๋ ์ฌ๋ : microsoft / vscode
Cc : gdamore; ์ธ๊ธํ๋ค
์ ๋ชฉ : Re : [microsoft / vscode] ๊ฐ์ธ ํค ์ํธ๋ก git ์ง์ (# 13680)
Windows์์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ ์ ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ป๋ ๊ฒ์ด ์ข์ต๋๋ค.
โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ญ์์ค.
@gdamore ๋ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋๋๋ค. ์ด ๋ฌธ์ ๋ ํนํ SSH ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ธฐ์ํ ๊ฒ์ ๋๋ค. ์ด๋ค ์ฌ๋๋ค์ ๊ด๋ฆฌ์๊ฐ ํน๋ณํ http (s) Git ์์ ์ ํ์ฉํ์ง ์๋ Git ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก https๋ฅผ ์ฌ์ฉํ๋๋ก ์ง์ํ๋ ๊ฒ์ ๊ทธ๋ค์๊ฒ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
@ Kai-Richardson SSH ์์ด์ ํธ๋ฅผ ์ง์ํ๋ SSH ๋ช ๋ น์ ์ฌ์ฉํ๊ณ ํด๋น ์์ด์ ํธ์์ ํค๋ฅผ ์ด๋๋ก Git์ ๊ตฌ์ฑํ๋ฉด Windows์์ ์๋ํฉ๋๋ค.
GIT_SSH
๋ฅผ TortoiseGit ์ค์น ํด๋์ TortoiseGitPlink.exe
๋ก ์ค์ ํ๊ณ , ํฌํจ ๋ puttygen.exe
์ฌ์ฉํ์ฌ ๊ฐ์ธ ํค๋ฅผ PPK ํ์์ผ๋ก ๋ณํ ํ ๋ค์ pageant.exe
์์ ๊ฐ์ธ ํค๋ฅผ ์ฝ๋ ๋ค. GIT_SSH
๋ฅผ plink.exe
ํ๊ณ puttygen / pageant๋ฅผ ์ฌ์ฉํฉ๋๋ค.ssh-add <path to key file>
, ๊ทธ๋ฆฌ๊ณ ์ธํธ ENV ๋ณ์๋ฅผ GIT_SSH
๋ฐ๋ ssh.exe
(์ผ๋ฐ์ ์ผ๋ก C:\Program Files\OpenSSH-Win64\ssh.exe
). ์ฌ๊ธฐ์ ์ ์ผํ ๋ฌธ์ ๋ 8.0 ๋ฆด๋ฆฌ์ค ์ดํ์ ๊ธฐ์กด ( -----BEGIN RSA PRIVATE KEY-----
ํ์, ๋์ -----BEGIN OPENSSH PRIVATE KEY-----
ํ์์ ์ ํธ ํจ)์ผ๋ก ๊ฐ์ธ ํค๋ฅผ ์ฝ๋ ๋ฐ ๋ฌธ์ ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค.๋ด Visual Studio ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ ์ด์ ์์ฉ ํ๋ก๊ทธ๋จ์ ํตํด ๋ด github์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๋ฒ์ 1.37.1
OS : Windows 10 Pro : ๋ฒ์ : 10.0.17134 Build 17134
MS ํ์ SSH๋ฅผ ์ซ์ดํฉ๋๊น?
์ค์ ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋ IDE๋ ๋ฌด์์ ๋๊น? Jetbrains์ ์ ํ๋ ๋ง์ฐฌ๊ฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ์ง ์๋ ์์ 3 ๊ฐ ๊ณต๊ธ ์ ์ฒด ์ค 2 ๊ฐ๊ฐ ์์ต๋๋ค (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ Github์ ๋๋ค. Atom ํธ์ง๊ธฐ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค).
2019 ๋ 8 ์ 29 ์ผ ์คํ 8์ 43 ๋ถ์ Chris Migut [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
Visual Studio ์ฝ๋๋ก ์ ๋ฐ์ดํธ๋์ด ๋ ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ด github์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๋ฒ์ 1.37.1
MS ํ์ SSH๋ฅผ ์ซ์ดํฉ๋๊น?
โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ง์ ์ด ์ด๋ฉ์ผ์ ํ์ ๋ณผ์ GitHub์์ https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA#issuecomment-526421988 , ๋๋ ์ค๋ ๋ ์์๊ฑฐ https://github.com/notifications/์ unsubscribe-auth / ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ .
๋ด๊ฐ ์ด๋ค ์ค์๋ฅผ ํ์ต๋๊น? Kali Linux๋ฅผ Windows์์ ์ด์ค ๋ถํ ์ผ๋ก ๋ถํ ํฉ๋๋ค.
PrinceKK301088
2019 ๋ 8 ์ 31 ์ผ ํ ์์ผ ์ค์ 8:59 flaw600, [email protected] ์์ฑ :
์ค์ ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋ IDE๋ ๋ฌด์์ ๋๊น? Jetbrains์ ์ ํ์
๋ํํ์ง ๋ง์ญ์์ค. ๋ฐ๋ผ์ ์์ 3 ๊ฐ ๊ณต๊ธ ์ ์ฒด ์ค 2 ๊ฐ๊ฐ SSH๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ํธ (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ-Github-๋๋ ๊ทธ๋ค์
Atom ํธ์ง๊ธฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํฉ๋๋ค).2019 ๋ 8 ์ 29 ์ผ ์คํ 8:43, Chris Migut [email protected]
์ผ๋ค :Visual Studio ์ฝ๋๋ก ์ ๋ฐ์ดํธ๋์ด ๋ ์ด์ ๋ด github์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ์ ํตํด. ๋ฒ์ 1.37.1MS ํ์ SSH๋ฅผ ์ซ์ดํฉ๋๊น?
โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ํ์ ํ๊ณ GitHub์์ ํ์ธํ์ญ์์ค. <
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFWSVREXG43VMV1988ORPZAZissuement-W2ZLOBW63LNMVXHJ7K#NMVXHJ
๋๋ ์ค๋ ๋ ์์๊ฑฐ <
https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ
.โ
์ด ์ค๋ ๋๋ฅผ ๊ตฌ๋ ํ๊ธฐ ๋๋ฌธ์์ด ๋ฉ์์ง๊ฐ ์ ์ก๋์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AH4ENDPM4O6N2MT3BFLXGRTQHG66NA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFWSVREXG43VMVORPW63LNMVX635786 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AH4ENDORTBRU3GTGOWJFOVLQHG66NANCNFSM4CSXV3PQ
.
์ค์ ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋ IDE๋ ๋ฌด์์ ๋๊น? Jetbrains์ ์ ํ๋ ๋ง์ฐฌ๊ฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ์ง ์๋ ์์ 3 ๊ฐ ๊ณต๊ธ ์ ์ฒด ์ค 2 ๊ฐ๊ฐ ์์ต๋๋ค (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ Github์ ๋๋ค. Atom ํธ์ง๊ธฐ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค).
๋์ผํ ๋ฌธ์ ์ ๋ํ ์ค๋ณต https://puu.sh/B7qHY/57f3c89f47.png
๋งํฌ๋ ํค๋ก ๋ณดํธ๋ฉ๋๋ค.
๋ด iPhone์์ ๋ณด๋
2019 ๋ 9 ์ 16 ์ผ ์คํ 1:32์ vitasam [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ค์ ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋ IDE๋ ๋ฌด์์ ๋๊น? Jetbrains์ ์ ํ๋ ๋ง์ฐฌ๊ฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ์ง ์๋ ์์ 3 ๊ฐ ๊ณต๊ธ ์ ์ฒด ์ค 2 ๊ฐ๊ฐ ์์ต๋๋ค (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ Github์ ๋๋ค. Atom ํธ์ง๊ธฐ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค).
โฆ
2019 ๋ 8 ์ 29 ์ผ ์คํ 8:43, Chris Migut @. * > ์์ฑ : Visual Studio ์ฝ๋๋ก ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ ๋ ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ด github์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๋ฒ์ 1.37.1 MS ํ์ SSH๋ฅผ ์ซ์ดํฉ๋๊น? โ ๊ทํ๊ฐ ๋ฉ์ ๋์๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ฒ์ ๋๋ค. ๋ฐ๋ก์ด ์ด๋ฉ์ผ์ ํ์ GitHub์์์ ๋ณผ <# 13680? email_source = ํต์ง ๋ฐ email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, ๋๋ ์ค๋ ๋ ์์๊ฑฐ https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQํฉ๋๋ค.๋์ผํ ๋ฌธ์ ์ ๋ํ ์ค๋ณต ์ค๋ ๋๊ฐ ์์ต๋๋ค. ๋๊ตฐ๊ฐ๋ Atom์ด ๊ธฐ๋ณธ์ ์ผ๋ก SSH ํค๋ฅผ ์ง์ํ๋ค๊ณ ๋งํ์ต๋๋ค. https://puu.sh/B7qHY/57f3c89f47.png
โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ญ์์ค.
ํฅ๋ฏธ๋กญ๊ฒ๋ ๋งํฌ๋ฅผ ์ด ์ ์์ต๋๋ค. Atom์ ๋ํ :
์์ ssh ๊ตฌ์ฑ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๊ฒ ์ธ์
์ฐฝ๋ฌธ์ด๋ผ๋ฉด
Set-Service ssh-agent -StartupType Automatic
powershell์์
์ด์ vs ์ฝ๋๊ฐ ํ๋กฌํํธ๋์ง ์์์ผํฉ๋๋ค.
์์ ssh ๊ตฌ์ฑ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๊ฒ ์ธ์
์ฐฝ๋ฌธ์ด๋ผ๋ฉด
Set-Service ssh-agent -StartupType Automatic
powershell์์
์ด์ vs ์ฝ๋๊ฐ ํ๋กฌํํธ๋์ง ์์์ผํฉ๋๋ค.
์ด ์๋์์ ๊ถํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ค ์ ์?
Set-Service : ๋ค์ ์ค๋ฅ๋ก ์ธํด 'OpenSSH ์ธ์ฆ ์์ด์ ํธ (ssh-agent)'์๋น์ค๋ฅผ ๊ตฌ์ฑ ํ ์ ์์ต๋๋ค. ์ก์ธ์ค๊ฐ ๊ฑฐ๋ถ๋์์ต๋๋ค.
์ค : 1 char : 1
+ Set-Service ssh-agent -StartupType ์๋
+~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied : (System.ServiceProcess.ServiceController : ServiceController) [Set-Service], ServiceCommandException
+ FullyQualifiedErrorId : couldNotSetService, Microsoft.PowerShell.Commands.SetServiceCommand
์ด ์๋์์ ๊ถํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ค ์ ์?
@seantma : ํ์ํ ๊ถํ์ ๊ฐ์ง๋ ค๋ฉด PowerShell์ ๊ด๋ฆฌ์๋ก ์คํํด์ผํฉ๋๋ค.
์์ ssh ๊ตฌ์ฑ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๊ฒ ์ธ์
์ฐฝ๋ฌธ์ด๋ผ๋ฉด
Set-Service ssh-agent -StartupType ์๋powershell์์
์ด์ vs ์ฝ๋๊ฐ ํ๋กฌํํธ๋์ง ์์์ผํฉ๋๋ค.
๋ด ๊ฒฝ์ฐ์๋ ๋์์ด๋์ง ์์์ผ๋ฉฐ ๋ก์ปฌ ์ปค๋ฐ์ ์๋ณธ (์๊ฒฉ)๊ณผ ๋๊ธฐํํ๋ ค๊ณ ํ ๋ VCode๊ฐ ๋ค์ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
VCode๊ฐ ๊ธ๋ก๋ฒ GIT ๊ตฌ์ฑ (์ด๋ฆ ๋ฐ ์ด๋ฉ์ผ)์ ์ฌ์ฉํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๊ฒ๊ณผ ์๋ํฉ๋๋ค (์ํธ๊ฐ์๋ ssh ํค๋ก ํ ์คํธ๋์ง ์์) :
๊ทธ๊ฒ ๋ค์ผ
@ leductan-nguyen, ์ด๊ฒ์ ์ ์ ํ ํด๊ฒฐ์ฑ ์ด ์๋๋๋ค. ์ด ๋ฌธ์ ๋ ํนํ ์ํธ๋ก ๋ณดํธ ๋ ํค์ ๊ดํ ๊ฒ์ผ๋ฟ๋ง ์๋๋ผ ์ฌ๋ฌ ํค๊ฐ ์์ด์ผํ๋ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค (์ : GitHub ์ฉ ํค์ GitLab ์ฉ ํค ํ๋).
์ด๊ฒ์ ์ง์ ์ด ์์ต๋๊น?
@Badbreaddead , ๋ช ๊ฐ์ง ์๋ฃจ์ ๋๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์๋์์ต๋๋ค. ์ฌ์ฉ์ค์ธ OS์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
@ dschu-lab์ ์๋ฃจ์ ์ ๋ฐ๋ฅด๊ณ ์ถ๊ฐ
Host *
AddKeysToAgent yes
UseKeychain yes
~/.ssh/config
์ _ ๋งค์ฐ ๋ _๊น์ง. ssh ํค์ ํ์ค ์ด๋ฆ์ด์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ง์ ํ๋๋ก IdentityFile /path/to/your/ssh/private/key
๋ก ์ง์ ํด์ผ ํ ์๋ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฒ์ ์ฌ์ฉํ ๋ ์ํธ๋ฅผ ์ถ๊ฐํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋๊ณ ์ดํ ์ฌ์ฉ์ ์ํด ํค ์ฒด์ธ์ ์ ์ฅ๋ฉ๋๋ค.
@ Silentz0r ์ด ์์์ ์ง์ ํ๋ฏ์ด, ์๋ฅผ ๋ค์ด sudo apt install keychain
๋ฅผ ํตํด ํค ์ฒด์ธ์ ์ค์นํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ keychain --eval <ssh-key-name>
๋ฅผ ์คํํ์ง๋ง keychain <path-to-ssh-key>
๋ ๋์ผํ ํจ๊ณผ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. .bashrc
๋๋ ๋๋ฑํ ํญ๋ชฉ์ ์ถ๊ฐํ๋ฉด ํธ๋ฆญ์ ์ํ ํ ์ ์์ต๋๋ค.
@geordanr ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ ๋๋ฅผ ์ํด ์ผํ ์ ์ผํ
$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code
๋งค๋ฒ ์ฒ์ ๋ ๋ช ๋ น์ ์ ๋ ฅํด์ผํ๋ ์๊ฐ์ ์ ์ฝํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ์ถ๊ฐ ํ ์๋ ์์ต๋๋ค.
#use fix path for SSH_AUTH_SOCK so it works more then one instance of gitbash
export SSH_AUTH_SOCK="$TEMP/ssh_agent_socket"
ps | grep ssh-agent > /dev/null
RUNNING=$?;
if [ "$RUNNING" -eq "1" ]
then
# ssh-agent is not yet running
eval `ssh-agent -a $SSH_AUTH_SOCK`
fi
ssh-add
Git Bash์ ~/.bashrc
ํ์ผ์ ssh-agent๋ฅผ ์๋์ผ๋ก ์์ํฉ๋๋ค ( ์ฌ๊ธฐ ์์ ๊ฐ์ ธ ์์ ์ฝ๊ฐ ์กฐ์ ๋จ). ํค์ ํ์ค ์ด๋ฆ์ด์๋ ๊ฒฝ์ฐ ssh-add
๋ค์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ผํฉ๋๋ค (์ : ssh-add ~/.ssh/id_rsa_personal_key
.
์ค์ ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋ IDE๋ ๋ฌด์์ ๋๊น? Jetbrains์ ์ ํ๋ ๋ง์ฐฌ๊ฐ์ง์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ์ง ์๋ ์์ 3 ๊ฐ ๊ณต๊ธ ์ ์ฒด ์ค 2 ๊ฐ๊ฐ ์์ต๋๋ค (๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ Github์ ๋๋ค. Atom ํธ์ง๊ธฐ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ์ํธ๋ฅผ ์ง์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค).
โฆ
2019 ๋ 8 ์ 29 ์ผ ์คํ 8:43, Chris Migut @ . * > ์์ฑ : Visual Studio ์ฝ๋๋ก ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ ๋ ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด ๋ด github์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๋ฒ์ 1.37.1 MS ํ์ SSH๋ฅผ ์ซ์ดํฉ๋๊น? โ ๊ทํ๊ฐ ๋ฉ์ ๋์๊ธฐ ๋๋ฌธ์ ์์ ํ ๊ฒ์ ๋๋ค. ๋ฐ๋ก์ด ์ด๋ฉ์ผ์ ํ์ GitHub์์์ ๋ณผ <# 13680? email_source = ํต์ง ๋ฐ email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, ๋๋ ์ค๋ ๋ ์์๊ฑฐ https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ์ .
PyCharm์ ์๋ฌด๋ฐ ๋ฌธ์ ์์ด ๋ด ssh ํค๋ฅผ ์ํธ๋ก ์ง์ํ๋ฉฐ, ์ํธ๋ฅผ ํ ๋ฒ๋ง ๋ฌป๊ณ ๋ค์๋ ์์ฒญํ์ง ์์์ผ๋ฉฐ ๋ชจ๋ git ๊ธฐ๋ฅ์ด ์์๋๋ก ์๋ํฉ๋๋ค.
Git Bash์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์์ด์ ํธ์ ssh ํค๋ฅผ ์ถ๊ฐํ๊ณ ๋์ผํ ์ธ์ ์์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
$ ํ๊ฐ
ssh-agent
$ ssh-add / path / to / key
$ ์ฝ๋
๊ทธ๋งํ ๊ฐ์น๋ Linux์์๋ ์๋ํ๋ฉฐ ํฐ๋ฏธ๋์ ํตํด code
์ ์์ํ ํ์๊ฐ ์์ต๋๋ค. ๋ฐ๋ก ๊ฐ๊ธฐ๋ ์ ์๋ํฉ๋๋ค. ํฐ๋ฏธ๋ ์์ฒด๋ ์ด๋ฌํ ๋ช
๋ น ์งํ์ ๋ซํ ์ ์์ต๋๋ค.
์ ์ด๋ ๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค.
ssh-askpass
์ค์นํฉ๋๋ค (Arch Linux์์๋ x11-ssh-askpass ์ seahorse ํจํค์ง์์ ์ ๊ณต๋๋ฉฐ ๋ฐ์ด๋๋ฆฌ๋ ๊ฐ๊ฐ /usr/lib/ssh/ssh-askpass
๋ฐ /usr/lib/seahorse/ssh-askpass
์์ต๋๋ค). ์ด ํจํค์ง ์ค ํ๋๋ฅผ ์ค์นํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค. VS Code๋ ํ์ํ ๋๋ง๋ค ์ํธ ๋ํ ์์๋ฅผ ์์ํฉ๋๋ค.
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
๋๋ ์ด๊ฒ์ด 2020 ๋ 1 ์ ์ด์ ํ๋ผ๊ณ ๋งน์ธ ํ ์ ์์๋ค. ๐
์ด https://github.com/microsoft/vscode/issues/13680#issuecomment -559013132์ ์ถ๊ฐ
bash๋ ๋ชจ๋ ๋ก๊ทธ์ธ์์ ์ํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ฏ๋ก bash๋ฅผ ํตํด ๋ฐ๋ก ๊ฐ๊ธฐ์์ ์คํ์ค์ธ VSCode๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์์ด์ฝ์ ๊ฒฝ์ฐ % LOCALAPPDATA % ProgramsMicrosoft VS CodeCode.exe ์๋์์๋ VSCode์ ํจ๊ป ์ ๊ณต๋ ์์ด์ฝ์ ์ฌ์ฉํ์ญ์์ค.
ssh-agent๊ฐ ์ด๋ฏธ ์คํ์ค์ธ ๊ฒฝ์ฐ ์ฝ๋๊ฐ ์ฆ์ ์์๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ํธ๋ฅผ ์ ๋ ฅ ํ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
์ด ์ผ์ ๋๊ณ ์ถ์ต๋๋ค. VSCode๊ฐ ํด์ฃผ ์์ผ๋ฉดํ๋ ๋ช ์๋๋ ์ผ ์ค ํ๋์ง๋ง, ๊ทธ๊ฒ ์์ด๋ ์๊ด ์์ด์. ์ ๋ ์ฌ์ ํ VSCode ์ฌ์ฉ์ ์ ๋ง ์ข์ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
Git-for-Windows๋ start-ssh-agent
๋ผ๋ ์คํฌ๋ฆฝํธ์ ํจ๊ป ์ ๊ณต๋๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก Git-for-Windows์ ํ์ค ์ค์น์์ ์ฌ์ฉ์ ๊ฒฝ๋ก์ ์ถ๊ฐ๋๋
๋๊ตฐ๊ฐ๊ฐ ๋ฐ๊ธฐ / ๋๊ธฐ ๋ฒํผ์ ํด๋ฆญ ํ ๋ ๋ฐ์ํ๋ ์ผ๋ จ์ ์ด๋ฒคํธ๋ฅผ ์๋ ค์ค ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์๋ง๋์ด ์คํฌ๋ฆฝํธ๋ฅผ vscode ํฐ๋ฏธ๋์ด๋ ํ์ ์์ ์คํํ ์ ์์ต๋๋ค.
๋ํ ์ถ๊ฐ ๋ ํ๋ฌ์ค๋ก ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ssh-agent๋ฅผ ์์ํ ๊ฒฝ์ฐ ์คํฌ๋ฆฝํธ๋ ์ผ๋ฐ์ ์ผ๋ก์ด๋ฅผ ์ฐพ๊ณ ๊ธฐ์กด ์์ด์ ํธ ๋ง ์ฌ์ฉํ๋ฏ๋ก ์ํธ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
๊ฐ์ฌ!
https://github.com/microsoft/vscode/issues/13680#issuecomment -525861890๋ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ง๋ง ๋งค์ฐ ๊ฐ๋จํ์ง ์์ผ๋ฉฐ Windows git ๋ฐ bash ์ฉ Git๋ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ํฉ์ด ๋ณต์กํด์ง๋๋ค.
Windows + Windows ์ฉ Git (GfW) + VSCode + SSH git repo์ ์ฃผ์ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
code
cli์์ ์๋ฃจ์ 2๋ ์ข์ง๋ง ๋งค์ฐ ๊ฐ๋จํ์ง๋ ์์ต๋๋ค. ์ ๊ฐ ์ทจํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ssh-add
๋ฅผ ์คํํ๋ฉด ํค๊ฐ ์ถ๊ฐ ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.์ง๊ธ์ Mac๊ณผ Linux ์์คํ ๋ ์ฌ์ฉํ๊ณ ๋ชจ๋ ๊ณณ์์ ๋์ผํ bash / git / ssh ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๊ธฐ ๋๋ฌธ์ ์๋ฃจ์ 1์ ๊ณ ์ํ๊ณ ์์ต๋๋ค.
cmd ํด๋์ start-ssh-agent.cmd
๋ผ๋ Git-for-Windows ์คํฌ๋ฆฝํธ๋ฅผ ์ฐ๊ฒฐํด ๋ณด์์ต๋๋ค. ๋ฐ๋ก ๊ฐ๊ธฐ์ Code.exe
๋ฅผ %COMSPEC% /C %LOCALAPPDATA%\Programs\Git\cmd\start-ssh-agent.cmd && "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe"
๋ก ์ฌ์ฉํ๋๋ฐ ์๋ํ์ง๋ง์ด ์ด์ํ๋ฉด์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค๋ฅผ ์ข
๋ฃ ํ ํ VSCode์ ๋ ๋ฒ์งธ ์ธ์คํด์ค๋ฅผ ์ฌ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
Windows ํฐ๋ฏธ๋์์์ด ์ค์ ์คํํ๋ฉด ( %COMSPEC% /C
์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉํ์ง ์๊ณ ) ์ ์๋ํฉ๋๋ค.
๋ ๋ค๋ฅธ ์๋๋ ๋ฐ๋ก ๊ฐ๊ธฐ์ ๋์ผํ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ *.bat
๋๋ *.cmd
ํ์ผ์ ๋ง๋๋ ๊ฒ์ด์์ง๋ง ์๋ํ์ง ์๋๋ค๋ ์ฌ์ค์ ๋๋์ต๋๋ค. VSCode๊ฐ ์์๋์ง๋ง ๋์ด ์ค๊ธฐ / ๋ฐ๊ธฐ ํ ์ ์์ผ๋ฉฐ ๋๋ ค์ด "๊ถํ ๊ฑฐ๋ถ (๊ณต๊ฐ ํค)"๋ก ์๋ตํฉ๋๋ค. ์ค๋ฅ.
๋ํ Git ํ์ฅ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์๊ฐ์ ๋ณด๋์ง ๋ง ssh-start-agent ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์
ํ ์์น๋ฅผ ํ์
ํ ์ ์์์ต๋๋ค. ์ด์์ ์ผ๋ก๋ Git ๋ฒ์ ์ ์ฐพ๊ณ Windows์์ 61-148 ํ๊ณผ ๊ฐ์ด ์ฐพ์ ๋์
๋๋ค. git --version
๋ฅผ ์คํํ๋ฏ๋ก cp.exec('start-ssh-agent.cmd')
๋ ์คํํ ์ ์์ง๋ง ์ฌ์ฉ์๋ก๋ถํฐ ์ํธ๋ฅผ ์ป์ ์์๋ ๋ฐฉ๋ฒ์ด ์์ด์ผํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ๋ด๊ฐ ๋ฌด์์ ์ ์ฐฉํ๋ ๊ฒ์ ๋ณต์ฌํ๋ค start-ssh-agent.cmd
์ ํ์ผ๋ก ๋ถ๋ฆฌ๋ vscode-ssh-agent.cmd
ํ๊ณ ํธ์ถํ๋ ๊ฒฝ์ฐ ๋ง์ง๋ง ์ค์ ๊ต์ฒดํ๋ CMD
๊ฐ์ง <strong i="25">@call</strong> "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe"
. ํ์ง๋ง ์์
ํ์ ์ค์ ๊ณ ์ ํ ์ ์์ต๋๋ค.
ํ์ฌ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค. ์์ง ์งํ์ค์ธ ์์ ์ด์ง๋ง ๊ณง ํ๋ณด๊ฐ ๊ฐ๋ฅํด์ผํฉ๋๋ค.
์ง๊ธ์ ssh-agent๋ฅผ ์์ํ๊ณ , git.sshPrivateKeyPath๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ํค๋ฅผ ์ถ๊ฐํ๊ณ , ์์ฒญ ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ SSH ํค ์ํธ๋ฅผ ์
๋ ฅํ๋๋ก ํ๋กฌํํธํ๊ณ , ๋ชจ๋ git ํธ์ถ์ ๋ํด ์์ด์ ํธ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Windows ์ปดํจํฐ์์ ์ฒซ ๋ฒ์งธ ํ
์คํธ๊ฐ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๊ธฐ์์๋ ๋ชจ๋ ๋๊ธ์ ์ฝ์์ง๋ง ์์ ๊ฒ์ด์์ ์ ์์ผ๋ฏ๋ก ์ธ์ ๋ ์ง ๋ง์ํด์ฃผ์ญ์์ค.
@weiliddat์์ https://github.com/microsoft/vscode/issues/13680#issuecomment -583599355์ ์ถ๊ฐ; ๋๋ ์์ฃผ "VSCode๋ก ์ด๊ธฐ"์ปจํ ์คํธ ๋ฉ๋ด (ํด๋๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญ) ํญ๋ชฉ์ ์ฌ์ฉํ๊ณ ContextEdit ๋ฅผ ์ฌ์ฉํ์ฌ VSCode๋ก ํด๋๋ฅผ ์ด ๋ ์ปจํ ์คํธ ๋ฉ๋ด ํญ๋ชฉ์ ํธ์งํ์ฌ Git Bash๋ฅผ ํตํด ์์ํ๋ฏ๋ก VSCode๋ SSH ์ปจํ ์คํธ์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค.
"C:\Program Files\Git\bin\bash.exe" -l -c "code '%V';exit"
ํฉ๋๋ค. "C:\Program Files\Git\"
๊ฐ Windows ์ฉ Git ์ค์น ๋๋ ํฐ๋ฆฌ์ ํด๋นํ๋์ง ํ์ธํฉ๋๋ค. ์ฌ์ค์ ํด์ผํ๋ ๊ฒฝ์ฐ ์ด์ ๋ช
๋ น์ ๋ณต์ฌ ํ ์ ์์ต๋๋ค.์ด์ "VSCode๋ก ์ด๊ธฐ"ํด๋๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๋ฉด ๋จผ์ Git Bash๊ฐ ์คํ๋๊ณ ๋์ค์ ์ค๋ฅธ์ชฝ ํด๋์์ VSCode๊ฐ ์ด๋ฆฝ๋๋ค. Git Bash๋ฅผ ์์ํ๊ธฐ ์ ์ SSH ์์ด์ ํธ๋ฅผ ์์ํ๋๋ก Git Bash๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ ๊ฒฝ์ฐ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ ๋ ๋ง๋ค ์ํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์ดํ์ ์ด๋ฉด VSCode๊ฐ ์ง์ ์ด๋ฆฌ๊ณ SSH ํค๊ฐ ๋ชจ๋ ์ค์ ๋ฉ๋๋ค.
ํด๋ ์์ฒด๋ฅผ ์ง์ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๋ ๋์ ํ์๊ธฐ์์ ํด๋ ๋ด๋ถ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๋ฉด ContextEdit ํญ๋ชฉ์ ์ฐพ์ ์ ์์์ต๋๋ค.
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
https://github.com/microsoft/vscode/issues/13680#issuecomment -575204695
์ด๊ฒ์ ๊ทธ๊ฒ์ ํด๊ฒฐํฉ๋๋ค! ๋๋จํ ๊ฐ์ฌํฉ๋๋ค!
์ด ์น์
์ ํ์ธ GitBash
๋ฑ์์ VSCode
๋ฅผ ์์ํด์ผํ๋ค๊ณ ๋งํฉ๋๋ค. ๋ํ GitBash
์์ ์ด๋ฌํ ๋ณ์๋ฅผ ํ์ธํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
.
์๋ฅผ ๋ค์ด GitBash
๋ฅผ ์ฌ์ฉํ์ฌ ๋งค๋ฒ VSCode
GitBash
๋ฅผ ์์ํ์ง ์์ผ๋ ค๋ฉด ( ์ด ๋ง๋ ์๋ผ! IMHO ), Environment Variables
์ฐฝ์ ์ฌ์ฉํ๊ฑฐ๋ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ถ๊ฐ ํ ์ ์์ต๋๋ค. rundll32.exe sysdm.cpl,EditEnvironmentVariables
(์ฆ, cmd.exe๋ฅผ ํตํด).
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ์ ์์ต๋๋ค.
์ด์ ๋ค์ ์์ (๋ค์๋ก๋ํ์ง ์์) VSCode
ํ๋ฉด ์๋ํฉ๋๋ค.
DISPLAY=WTHeck
ํ๋๋ผ๋ ์๋ํ๋ค๋ ์ฌ๋ฏธ์๋ ์ ์ด ์์ผ๋ฏ๋ก์ด ๋ณ์์ ์กด์ฌ ๋ง ์ฐพ์ ์ ์์ต๋๋ค.
์ด๋ฌํ ( private key file path
๋๋ SSH_ASKPASS
)๋ฅผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋๊ฐ์ JSON
๊ตฌ์ฑ ๊ฐ์ผ๋ก ์ ์ํ๋ฉด VSCode
๊ฐ ์์ํ ๋ ๋ค์ ํญ๋ชฉ์ ์ถ๊ฐ๋ฉ๋๋ค. ๋ด๋ถ ํ๊ฒฝ ๋ณ์?
์ ์ ๋๋ Windows ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ ๋ฐฉ์์ ๋ํด์๋ ์ ๋ชจ๋ฅด์ง๋ง์ด ์๋ฃจ์ ์ ๋๋ฌ์ผ ๋ํผ๋ฅผ ๊ฐ๋ฐํ ์ ์์ผ๋ฏ๋ก VSCode๋ฅผ ์ค์นํ ๋ ์ด๋ฌํ ์ค์ ์ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค.
TBH ๋์๊ฒ ์ด๊ฒ์ ์ด๊ฒ์ด ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ์ฒ๋ผ ๋ณด์ด์ง ์์ง๋ง์ด ํ ๋ก ์ด 4 ๋ ๋์ ๊ณ์๋๋ ๋ฐฉ์์ ๊ณ ๋ คํ๋ฉด ์๋ง๋ ๋ฌธ์ ์ ์ง์น ์ผ ๊ฒ์ ๋๋ค. VSCode๊ฐ ์ ์ด๋ ๋ฌด์ธ๊ฐ๋ฅผ ๊ตฌํํ์ฌ ์ฌ์ฉ์๊ฐ ์์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํํ์ง ์๊ณ ๋์ด ํ์ค์ ์ธ git ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋กํ๋ ๊ฒ์ ๋ฉ์ง ๊ฒ์ ๋๋ค. ์ฒ์์๋ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํํด์ผ ํ ์์ ์ด ์์ง๋ง.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด soufiene-slimi์๊ฒ ๊ฐ์ฌํ๊ณ ์ค๋ช ์ ๋ํด F8ER์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. UI ๋ถ์ผ์น๊ฐ ์์ง๋ง ์ ์ด๋ ์๋ํฉ๋๋ค.
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
์ฌ๊ธฐ์ ์๋ก์ด ๊ฒ์ด ์์ต๋๊น? ๋ฐฉ๊ธ WSL 2 ๋ฐ Git์์ VSCode ์์ ์ ์์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ VSCode๋ ๋ด๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ ํธ์ํ๊ฑฐ๋ ๊ฒ์ํ๋ ค๊ณ ํ ๋๋ง๋ค ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ํฐ๋ฏธ๋์์ ์๋ํด ๋ณด์๊ณ ๋ด ์ํธ๋ฅผ ์ ๋ ฅ ํ ์ ์์๊ธฐ ๋๋ฌธ์ ํ๋ฅญํ๊ฒ ์๋ํ์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋๋ฌด ์ค๋๋์๊ณ ๋ง์ ์๊ฒฌ์ด ์์ต๋๋ค. ๋ด ํค์์ ์ํธ๋ฅผ ์ ๊ฑฐํ์ง ์๊ณ ๊ตฌ์ฑ์ ์ด๋๊ฐ์ ํค๋ฅผ ์ ์ฅํ์ง ์๊ณ ์ด๋๊ฐ์ ์ข์ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ผ ์ ์์ต๋๋ค.
์๋ค ์,
Mac์์๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
RSA ํค๊ฐ ์ค์ ๋์ด ์๊ณ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# GitLab.com
Host gitlab.com
Preferredauthentications publickey
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
CLI๋ฅผ ์ฌ์ฉํ์ฌ ์๋ณธ์ผ๋ก ํธ์ ํ ๋ VS ์ฝ๋ ํฐ๋ฏธ๋์์ ์ํธ๋ฅผ ์
๋ ฅํ๋ผ๋ ๋ฉ์์ง์ ํจ๊ป ์ฝ๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํธ์ํฉ๋๋ค.
VScode GUI ํ / ํธ์ / ๋๊ธฐํ๋ฅผ ์ฌ์ฉํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
Please make sure you have the correct access rights
and the repository exists.
> git push -u origin v1.5_Testing
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
์ ์ผํ ์ฐจ์ด์ ์ GUI๊ฐ ์ํธ๋ฅผ ์๊ตฌํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ์คํจํ๋ค๊ณ ๊ฐ์ ํ๋ ์ด์ ์ ๋๋ค.
[email protected] : ๊ถํ์ด ๊ฑฐ๋ถ๋์์ต๋๋ค (๊ณต๊ฐ ํค).
...
์ ์ผํ ์ฐจ์ด์ ์ GUI๊ฐ ์ํธ๋ฅผ ์๊ตฌํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ์คํจํ๋ค๊ณ ๊ฐ์ ํ๋ ์ด์ ์ ๋๋ค.
@mohammedpatla ์ ๋ฐ, ์ด๊ฒ์ ํ์ธ ํ์ญ์์ค .
ํ๊ฒฝ ๋ณ์๊ฐ์๋ ์๋ฃจ์
์ ๋์์ด๋์ง ์์ต๋๋ค. Windows์๋ git์ด ์ค์น๋์ด ์์ง ์์ง๋ง WSL2์์ ์คํ๋๋ Ubuntu 20.04์๋ ์์ต๋๋ค. mingw64
๋ผ๋ ๋๋ ํ ๋ฆฌ ๋ git-gui--askpass
๋ผ๋ ๋ฐ์ด๋๋ฆฌ๋ ์ด๋์๋ ์์ต๋๋ค.
๋ฐ๋ผ์ ์๋ฃจ์ ์ด Mac์์๋ ์๋ํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. @ F8ER .
Mac @ F8ER ์์ git-bash๋ฅผ ํตํด VScode๋ฅผ ์คํํ ์
ํ๊ฒฝ ๋ณ์๊ฐ์๋ ์๋ฃจ์ ์ ๋์์ด๋์ง ์์ต๋๋ค. Windows์๋ git์ด ์ค์น๋์ด ์์ง ์์ง๋ง WSL2์์ ์คํ๋๋ Ubuntu 20.04์๋ ์์ต๋๋ค.
mingw64
๋ผ๋ ๋๋ ํ ๋ฆฌ ๋git-gui--askpass
๋ผ๋ ๋ฐ์ด๋๋ฆฌ๋ ์ด๋์๋ ์์ต๋๋ค.
Mac์์ git-bash๋ฅผ ํตํด VScode๋ฅผ ์คํํ ์ ์์ต๋๋ค.
Environment Variable
์ด ๋ฌด์์ธ์ง ์์ญ๋๊น?
@NicolasGoeddel ubuntu.com ์์์ด ๋งํฌ ๋ฅผ ํ์ธ
@mohammedpatla ๋์ apple.com ์์์ด
๋ํ. ๋จผ์ Google์ ์ฌ์ฉํด๋ณด์ญ์์ค. ์๋ฅผ ๋ค์ด git-gui--askpass
๊ฐ ์์ผ๋ฉด git-gui
ํจํค์ง๊ฐ ์ค์น๋์ง ์์์ผ๋ฏ๋ก์ด๋ฅผ ์ค์นํด์ผ ํ ์ ์์ต๋๋ค.
ํ๊ฒฝ ๋ณ์๊ฐ์๋ ์๋ฃจ์ ์ ๋์์ด๋์ง ์์ต๋๋ค. Windows์๋ git์ด ์ค์น๋์ด ์์ง ์์ง๋ง WSL2์์ ์คํ๋๋ Ubuntu 20.04์๋ ์์ต๋๋ค.
mingw64
๋ผ๋ ๋๋ ํ ๋ฆฌ ๋git-gui--askpass
๋ผ๋ ๋ฐ์ด๋๋ฆฌ๋ ์ด๋์๋ ์์ต๋๋ค.Mac์์ git-bash๋ฅผ ํตํด VScode๋ฅผ ์คํํ ์ ์์ต๋๋ค.
Environment Variable
์ด ๋ฌด์์ธ์ง ์์ญ๋๊น?
@NicolasGoeddel ubuntu.com ์์์ด ๋งํฌ ๋ฅผ ํ์ธ
@mohammedpatla ๋์ apple.com ์์์ด๋ํ. ๋จผ์ Google์ ์ฌ์ฉํด๋ณด์ญ์์ค. ์๋ฅผ ๋ค์ด
git-gui--askpas
๊ฐ ์์ผ๋ฉดgit-gui
ํจํค์ง๊ฐ ์ค์น๋์ง ์์ ์์ ์๋ฏธ ํ ์ ์์ต๋๋ค.
๋ฌผ๋ก ํ๊ฒฝ ๋ณ์๊ฐ ๋ฌด์์ธ์ง ์๊ณ ์์ต๋๋ค. ํ์ง๋ง GUI๋ฅผ ์คํํ ์ ์๋๋ฐ WSL2์์ ์คํ๋๋ Linux ์ปดํจํฐ์ GUI ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ํค๋๋ฆฌ์ค ๋จธ์ ์์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋ค์์ ๋ด ๊ฒ์๋ฌผ์ ๋ ์์ธํ ์ฝ์ด์ฃผ์ธ์.
๊ทธ git-gui
ํธ๋ฆญ์ ๋ด ์๋๋ฆฌ์ค์์ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ VSCode์ ์ ์ฅ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ํ๊ฒฝ์์ ์คํ๋๋ ๊ฒฝ์ฐ Mac์์ ์๋ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ @mohammedpatla ๋ ์์คํ
์ git-gui
๋ง ์ค์นํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๋ฉด๋ฉ๋๋ค.
๋ฌผ๋ก ํ๊ฒฝ ๋ณ์๊ฐ ๋ฌด์์ธ์ง ์๊ณ ์์ต๋๋ค. ํ์ง๋ง GUI๋ฅผ ์คํํ ์ ์๋๋ฐ WSL2์์ ์คํ๋๋ Linux ์ปดํจํฐ์ GUI ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ํค๋๋ฆฌ์ค ๋จธ์ ์์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธgit-gui
ํธ๋ฆญ์ ๋ด ์๋๋ฆฌ์ค์์ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋๋๋ค.
GUI๊ฐ ์๋ ์ปดํจํฐ์์ VSCode๋ฅผ ์คํํ๋ ค๋ ์ด์ ๋ ๋ฌด์์
๋๊น?
๋ํ ์ด๊ฒ์ ํ์ธํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
vscode๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ์ ๊ด๊ณ์์ด Mac์์ ์ ์๋ํ์ง๋ง ssh-agent๋ฅผ ํ์ฑํํ๊ณ ์๊ฒฉ ์ฆ๋ช ํค ์ฒด์ธ์ ์ฐ๊ฒฐํ์ฌ ์๋์ผ๋ก ์์๋ฉ๋๋ค.
WSL์์ ํ / ํธ์๋ฅผ ์๋ํ์ง ์์์ง๋ง ๋ฐฑ์ ์๊ฒฉ ์ฐ๊ฒฐ์ ์ฌ์ฉํฉ๋๋ค. VcXsrv๋ฅผ ์ฌ์ฉํ์ฌ WSL์์ ์ฌ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ง๋ง ๊ด๋ จ์ด ์์ต๋๋ค.
ssh-agent๊ฐ WSL์์ ์์ ๋์์ต๋๊น? WSL ํฐ๋ฏธ๋์ ์์ํ๊ณ .bashrc
๋๋ .bash_prifile
๋ฅผ ํ์ธํฉ๋๋ค (ํ ํด๋์์๋ ๊ฒฝ์ฐ). ๊ทธ๋ฐ ๋ค์ ๋ค์์ ์ถ๊ฐํ์ญ์์ค.
eval `ssh-agent`
ssh-add
๋์์ด ๋๊ฒ ์ง๋ง ์๋ ์๋ ์์ต๋๋ค. wsl์ ์ฌ์ฉํ ๋ ๋ช ๊ฐ์ง๊ฐ ์๋ํ์ง ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ํฐ๋ฏธ๋์ ์ด์ด๋๊ณ ์ป์ ์ ์ฅ์๋ฅผ ์๋์ผ๋ก ๋๊ธฐํํ์ญ์์ค.
๋๋ฌด ๋ฉ๋ฆฌ๊ฐ๋ ๊ฒ ๊ฐ๋ค์. ์ด๋ฏธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ ์ ํ ํด๊ฒฐ์ฑ ์ VS Code๊ฐ ์ผ๋ฐ ์ฌ์ฉ์ ์ด๋ฆ / ํจ์ค์ ๋ํด ์ด๋ฏธํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ฒ์ ๋๋ค.
/ cc @ alarr46 , ๋ญ๋ผ๊ณ ?
๋ฌผ๋ก ํ๊ฒฝ ๋ณ์๊ฐ ๋ฌด์์ธ์ง ์๊ณ ์์ต๋๋ค. ํ์ง๋ง GUI๋ฅผ ์คํํ ์ ์๋๋ฐ WSL2์์ ์คํ๋๋ Linux ์ปดํจํฐ์ GUI ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ํค๋๋ฆฌ์ค ๋จธ์ ์์๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๊ทธgit-gui
ํธ๋ฆญ์ ๋ด ์๋๋ฆฌ์ค์์ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๋๋๋ค.GUI๊ฐ ์๋ ์ปดํจํฐ์์ VSCode๋ฅผ ์คํํ๋ ค๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ํ ์ด๊ฒ์ ํ์ธํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
๋น์ ์ ๋๋ฅผ ์คํดํ์ต๋๋ค. VSCode๋ Windows์์ ์คํ๋๊ณ ์์ผ๋ฉฐ ๋ด๊ฐ ๊ฐ๋ฐ ํ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ์์ค๋ WSL 2์์ ์คํ๋ฉ๋๋ค.
ํ์ง๋ง ๋งํฌ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. Windows์ WSL๊ฐ์ Git ์๊ฒฉ ์ฆ๋ช ์ ๊ณต์ ํ๋ ๊ฒ์ ๋ํด ๋ชฐ๋์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ํ ํ ๊ฒ์ด๋ค.
๋ฐ๋ฉด @ranolfi ๊ฐ ์ณ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ฌ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. :-)
์, ๊ธฐ๋ณธ์ ์ผ๋ก VSCode์ ๊ตฌํ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ๋กฌํํธ๋ฅผ ๋์ด ํ๊ฐํ ๊ฒ์ ๋๋ค.
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
์ด์ค ๋์ ์์ ๊ณต๋ฐฑ์ด ์์ด์ผํ๋์ง ์ฌ๋ถ๋ฅผ ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด๊ธฐ ์ ์๋ ์์ด์ผํฉ๋๋ค. ๋งค๊ฐ ๋ณ์ ์ฌ์ผํ๋ ๊ฒ ๊ฐ์ง๋ง ์ค์ ๋ก๋ ํ์ผ ์ด๋ฆ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค ... ๊ณต๋ฐฑ ์์
๋ค์ ํค๋ฅผ ํ๊ฒฝ์ ์ถ๊ฐํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.
DISPLAY=needs-to-be-defined SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass
์ด์ค ๋์ ์์ ๊ณต๋ฐฑ์ด ์์ด์ผํ๋์ง ์ฌ๋ถ๋ฅผ ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด๊ธฐ ์ ์๋ ์์ด์ผํฉ๋๋ค. ๋งค๊ฐ ๋ณ์ ์ฌ์ผํ๋ ๊ฒ ๊ฐ์ง๋ง ์ค์ ๋ก๋ ํ์ผ ์ด๋ฆ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค ... ๊ณต๋ฐฑ ์์
๋๋ฌด ๋ฉ๋ฆฌ๊ฐ๋ ๊ฒ ๊ฐ๋ค์. ์ด๋ฏธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ ์ ํ ํด๊ฒฐ์ฑ ์ VS Code๊ฐ ์ผ๋ฐ ์ฌ์ฉ์ ์ด๋ฆ / ํจ์ค์ ๋ํด ์ด๋ฏธํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ฒ์ ๋๋ค.
/ cc @ alarr46 , ๋ญ๋ผ๊ณ ?
๊ณต์ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ธฐ๋ค๋ฆด๋ฟ ๊ทธ๋๊น์ง๋ Git-CLI๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋๋ฌด ๋ฉ๋ฆฌ๊ฐ๋ ๊ฒ ๊ฐ๋ค์. ์ด๋ฏธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ ์ ํ ํด๊ฒฐ์ฑ ์ VS Code๊ฐ ์ผ๋ฐ ์ฌ์ฉ์ ์ด๋ฆ / ํจ์ค์ ๋ํด ์ด๋ฏธํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ฒ์ ๋๋ค.
/ cc @ alarr46 , ๋ญ๋ผ๊ณ ?
๋์ํฉ๋๋ค. ์ด๊ฒ์ด์ด pull request ์์ ๊ตฌํ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋๋ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค.
๋์ํฉ๋๋ค. ์ด๊ฒ์ด์ด pull request ์์ ๊ตฌํ ํ ๊ฒ์ ๋๋ค. ๊ทธ๋๋ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค.
๊ทธ๋๋ ์์ฃผ ์ข์ ์์์ ๋๋ค. ๋๋จํ ๊ฐ์ฌํฉ๋๋ค! ๋ก์ผ.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Windows 10์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ :
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
์์ ๊ด๋ฆฌ์, ์๋น์ค ํญ์ ์ด๊ณ ์๋น์ค ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
OpenSSH ์ธ์ฆ ์์ด์ ํธ๋ฅผ ์ฐพ์ ์์ฑ์ ์ด๊ณ ์์ ์ ํ์ ์๋์ผ๋ก ์ค์ ํ๊ณ ํ์ธ์ ๋๋ฅด์ญ์์ค.
๋ํ ์๋น์ค๋ฅผ ์์ํ๊ฑฐ๋ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
ssh-add
ssh-keygen์ด ์์ฑํ๋ C : Users \ % USERNAME % \. ssh์ ์ ์ฅ๋ ํค๋ฅผ ์๋์ผ๋ก ์ ํํด์ผํฉ๋๋ค.
ํ๋กฌํํธ์ ์ํธ๋ฅผ ์ ๋ ฅํ์ญ์์ค.
์ฐธ๊ณ : Windows ์ฉ Git์ ์ค์นํ ๋ PATH์ bash ๋ช ๋ น์ ์ถ๊ฐํ๋ ์ต์ ์ ์ ํํ ๊ฒฝ์ฐ ssh-add ๋ช ๋ น์ด ์๋ชป๋ ์คํ ํ์ผ์ ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ํฌํจ ๋ ํค๋ฅผ ์๋์ผ๋ก ์คํํ์ฌ ์์ด์ ํธ์ ํค๋ฅผ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
C:\Windows\System32\OpenSSH\ssh-add.exe
์ด์ ๊ธฐ๋ณธ ์ ๊ณต OpenSSH ์ธ์ฆ ์์ด์ ํธ๊ฐ ์์์ ์ํธ๋ก ๋ณดํธ ๋ ํค๊ฐ ์ ๊ธ ํด์ ๋ ์ํ๋ก ์คํ๋๊ณ Git์ ์์ฒด ์์ ๋์ Windows OpenSSH๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ ๋งค๋ฒ ์ํธ๋ฅผ ์ ๋ ฅ ํ ํ์๊ฐ ์์ผ๋ฉฐ ssh ์์ด์ ํธ๋ฅผ ์๋์ผ๋ก ์์ํ ํ์๊ฐ ์์ผ๋ฉฐ ๋ช ๋ น ์ค์์ VS Code๋ฅผ ์์ํ ํ์๊ฐ ์์ต๋๋ค.