๐ก ๋ณธ ๋ฌธ์๋ '๋น๋ฐ๋ฒํธ ์์ด VSCode ์๊ฒฉ ์๋ฒ ์ ์ํ๊ธฐ'์ ๋ํด ์ ๋ฆฌํด๋์ ๊ธ์ ๋๋ค.
VSCode Extension์ ์ด์ฉํ์ฌ ์๊ฒฉ์๋ฒ์์ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ๊ณผ ์ด ๊ณผ์ ์์ ๋น๋ฐ๋ฒํธ ์์ด ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํ์์ผ๋ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
1. VSCode Extension ์ค์น: Remote Development ์ค์น
2. ๊ณต๊ฐํค ๊ฐ์ธํค ๋ฐ๊ธ for ssh
ssh๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์์ ๋ช ๋ น์ผ๋ก ๋น๋ฐ๋ฒํธ ๋์ ์ฌ์ฉํ ๊ณต๊ฐํค ๊ฐ์ธํค๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํฉ๋๋ค.
$ ssh-keygen -t rsa -b 4096โ
์ดํ ๋ค์์ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ key ๋ฐ๊ธ ํ์ธ์ ํด์ค๋๋ค.
% ls ~/.ssh/
id_rsa id_rsa.pubโ
์ด ์ค id_rsa ๊ฐ priviate key(๋น๋ฐํค)๋ก ์ฐ๋ฆฌ ๋ก์ปฌpc์ ๋ณด๊ดํด์ผํ ํ์ผ์ด๋ฉฐ, id_rsa.pub ๊ฐ public key(๊ณต๊ฐํค)๋ก ์๋ฒ์ ๋ฃ์ด์ค ํ์ผ์ ๋๋ค.
3. ์๋ฒ์ ๋ก์ปฌ ๊ณต๊ฐํค ์ ์ก
scp๋ฅผ ์ด์ฉํ์ฌ id_rsa.pub ํ์ผ์ ~/.ssh/authorized_keys ๊ฒฝ๋ก์ ๋ฃ์ด์ค๋๋ค.
% scp ~/.ssh/id_rsa.pub sjchoi@192.168.50.21:.ssh/authorized_keys
4. ~/.ssh/config ์ค์
์ด์ ~/.ssh/config์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํด์ฃผ์ด Host๋ก ์ ํ ์ด๋ฆ์ผ๋ก ๊ฐ๋จํ๊ฒ ssh์ ์ ์ํ ์ ์๋๋ก ํด์ค๋๋ค(์ฐธ๊ณ ๋ก HostName ์ ์๋ฒ ์ฃผ์๋ฅผ ์๋ฏธํ๊ณ , Host ๋ vscode์์ ์๋ฒ ๋ช ์นญ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.).
Host rosserver
HostName 192.168.50.21
User sjchoi
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
์ด์ Host์ ์ ํ ์๋ฒ๋ช ์นญ์ ์ด์ฉํ์ฌ ssh๋ก ์ ์ํ๋ฉด ๋น๋ฐ๋ฒํธ ์์ด ์ ์ํ ์ ์์ต๋๋ค.
$ ssh rosserver
...
sjchoi@ubuntu:~$
5. vscode ์๋ฒ ์๊ฒฉ ์ ์ํ๊ธฐ
์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ ์๋์ ๊ฐ์ ๋ฒํผ์ ํด๋ฆญํ ํ SSH ํ ๊ธ์ ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ~/.ssh/config์ ๋ฑ๋ก๋ Host๋ช ์ ํ์ธํ ์ ์์ต๋๋ค.
์ดํ ์ ์์ ์ํ๋ ์๋ฒ ์ฐ์ธก์ ์๋ '์์ฐฝ์ ๋์ฐ๋ ๋ฏํ ๋ฒํผ'์ ํด๋ฆญํ์ฌ ํด๋น ์๋ฒ์ ์์ ๊ณต๊ฐ์ ์ ์ํ ์ ์์ต๋๋ค.