ํ ์ผ๋ท์์ ์ง๊ธ ์จ๋ผ์ธ์ธ ๊ธฐ๊ธฐ๋ฅผ ๋ฒํธ๋ก ๊ณจ๋ผ SSH ์ ์ํ๋ ์ฐ๋ฆฌ CLI ํด. ์ด ๊ฐ์ด๋๋ ์๋๋ก์ด๋ Termux์ ๊น๋ ๋ฒ์ด์ผ โ ํฐ์์ PCยท๋ ธํธ๋ถยท์คํ๋ฑ์ผ๋ก ๋ฐ๋ก ์ ์ํ๊ธฐ.
์ด ๋์ ํฐ์ ๋ฏธ๋ฆฌ ๊น๋ ค ์์ด์ผ ํด. ์ค์น๊ฐ ์๋๋ผ ์ฑ์ด๋ผ์ ๋ณต์ฌ ๋์ ๋งํฌ์ผ.
appTailscale ์ฑ โ ํ ์ผ๋ท ์ฐ๊ฒฐ
ํฐ์ด ํ ์ผ๋ท์ ๋ค์ด๊ฐ ์์ด์ผ ๊ธฐ๊ธฐ ์ด๋ฆ(MagicDNS)์ผ๋ก ์ ์๋ผ. Play ์คํ ์ด์์ Tailscale ์ค์น โ ๊ฐ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ โ VPN ์ผ๊ธฐ. ํ ๋ฒ ์ผ๋๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ์ง๋ผ.
appTermux โ ํฐ๋ฏธ๋
โ ๏ธ Play ์คํ ์ด ๋ฒ์ ์ ๋ก์์ pkg๊ฐ ๊นจ์ ธ.
F-Droid ๋๋
GitHub ๋ฆด๋ฆฌ์ค์์ ๋ฐ์์ผ ํด. ์ค์น ํ ํ ๋ฒ ์ด์ด์ ์ด๊ธฐํ๊น์ง ๋๋ด์ค.
Termux๋ฅผ ์ด๊ณ ์๋ ์ธ ์ค์ ์์๋๋ก. ๊ฐ ์ค ์ค๋ฅธ์ชฝ โง ๋ฅผ ํญํ๋ฉด ๋ณต์ฌ๋ผ.
step 1ํ์ํ ํจํค์ง ์ค์น
git ยท gh(GitHub CLI) ยท openssh ์ธ ๊ฐ. ์ฒ์ ํ ๋ฒ๋ง.
$ pkg install git gh openssh -y
step 2GitHub ๋ก๊ทธ์ธ
tailssh๋ ๋น๊ณต๊ฐ ์ ์ฅ์๋ผ ์ธ์ฆ์ด ํ์ํด. ์คํํ๋ฉด ๋ฌป๋๋ฐ โ GitHub.com โ HTTPS โ ๋ธ๋ผ์ฐ์ ์ธ์ฆ ์์ผ๋ก ๊ณ ๋ฅด๋ฉด ์ฝ๋ ํ๋ ์ฃผ๊ณ , ๊ทธ๊ฑธ ํฐ ๋ธ๋ผ์ฐ์ ์ ๋ฃ์ผ๋ฉด ๋.
$ gh auth login
step 3tailssh ๋ฐ์์ ์ค์น
์ ์ฅ์๋ฅผ ~/.tailssh์ ๋ฐ๊ณ ์ค์น ์คํฌ๋ฆฝํธ๊น์ง ํ ์ค๋ก. Termux๋ ์๋์ผ๋ก $PREFIX/bin์ ๋งํฌ๋ผ์ PATH ์ค์ ๋ ํ์ ์์ด.
$ gh repo clone architectofthoughts/tailssh ~/.tailssh && ~/.tailssh/install.sh
์ค์น ํ์ธ. ์๋๋ฅผ ์น๋ฉด ํ ์ผ๋ท์ ์จ๋ผ์ธ ๊ธฐ๊ธฐ ๋ชฉ๋ก์ด ๋ . ๋ญ๊ฐ ๋์ค๋ฉด ์ฑ๊ณต์ด์ผ.
$ tailssh -l
์ค์น๊ฐ ๋๋๋ฉด ์ด๋์๋ tailssh. ๋ช
๋ น์ด๋ฅผ ํญํ๋ฉด ๋ณต์ฌ๋ผ.
tailssh
๋ฒํธ ๋ฉ๋ด โ ์ ํ โ ์ ์ (๊ธฐ๋ณธ)
tailssh laptop-livingroom
์ด๋ฆ์ผ๋ก ๋ฐ๋ก ์ ์
tailssh -l
๋ชฉ๋ก๋ง ๋ณด๊ธฐ (์ ์ ์ ํจ)
tailssh -u
self-update โ git pull๋ก ๊ธฐ๊ธฐ ๋ชฉ๋ก๊น์ง ๋๊ธฐํ
tailssh -h
๋์๋ง
Termux๋ ํ๋ก๋ธ ๋ชจ๋๋ก ๋์. ํฐ์ tailscale CLI๊ฐ ์์ด์, hosts.conf์ ์ ํ ๊ธฐ๊ธฐ๋ง๋ค 1์ด TCP ํ๋ก๋ธ๋ฅผ ๋ ๋ ค ์จ๋ผ์ธ/์คํ๋ผ์ธ์ ํ๋ณํด. ๊ทธ๋์ ๋ชฉ๋ก์ ๋จ๋ ค๋ฉด ๊ทธ ๊ธฐ๊ธฐ๊ฐ hosts.conf์ ๋ฑ๋ก๋ผ ์์ด์ผ ํ๊ณ , ์ ๊ธฐ๊ธฐ๋ฅผ ์ถ๊ฐํ๋ค๋ฉด tailssh -u๋ก ๋ฐ์์ค๋ฉด ๋ผ.
ํ์์ ํฐ์์ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ก ๋๊ฐ๋ ์ฉ๋์ง๋ง, ๋ฐ๋๋ก PC์์ ์ด ํฐ์ ๋ค์ด์ค๊ณ ์ถ์ ๋.
sshdTermux์์ SSH ์๋ฒ ์ผ๊ธฐ
openssh๋ step 1์์ ์ด๋ฏธ ๊น๋ ธ์ด. ์๋ฒ๋ง ๋์ฐ๋ฉด ๋ผ โ Termux sshd๋ ํฌํธ 8022๋ฅผ ์จ.
$ sshd
์ ์ ๊ณ์ ์ด๋ฆ์ ์๋๋ก ํ์ธ (๋ณดํต u0_a<์ซ์> ํํ):
$ whoami
ํค ๋ฑ๋ก + hosts.conf ์ถ๊ฐ๊ฐ ํ์ํด. Termux sshd๋ ๋น๋ฐ๋ฒํธ๊ฐ ์๋๋ผ ๊ณต๊ฐํค ์ธ์ฆ์ด๋ผ, ์ ์ํ๋ ์ชฝ ๊ณต๊ฐํค๋ฅผ ํฐ์ ~/.ssh/authorized_keys์ ๋ฃ์ด์ค์ผ ํด. ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ธฐ๊ธฐ ๋ชฉ๋ก์ ๋์ฐ๋ ค๋ฉด hosts.conf์ mobile-๊ธฐ๊ธฐ์ด๋ฆ <whoami๊ฐ> 8022 ํ์์ผ๋ก ํ ์ค ์ถ๊ฐํ๊ณ ์ปค๋ฐยทpush. PC์ชฝ ์ ๋ฆฌ๋ ๋ํํ
์ํค๋ฉด ๋ผ ๐ฐ
์์์๋ถํฐ ํ๋์ฉ ์ง์ด๋ด.
tailssh -l์์ offline์ด๋ฉด ๊ทธ ๊ธฐ๊ธฐ ์์ฒด๊ฐ ๊บผ์ก๊ฑฐ๋ ํ
์ผ๋ท์์ ๋น ์ง ๊ฑฐ์ผ.gh auth status๋ก ํ์ธ. ํ๋ ธ์ผ๋ฉด tailssh -u(git pull)๊ฐ ์คํจํด.tailssh -u๋ก ์ต์ hosts.conf๋ฅผ ๋ฐ์๋ด. ๊ทธ๋๋ ๋น๋ฉด ๋ฑ๋ก ์์ฒด๊ฐ ์ ๋ ๊ธฐ๊ธฐ์ผ.