cloudflare ssh
이 기술은 터널에 관한 기술이다. vscode tunnel을 권장한다
소개
cloudflare에서 zero trust의 tunnel 기능을 이용해서 서버의 ssh를 활용할 수 있다. 즉 서버의 22번 포트를 개방할 필요가 없다. 서버가 외부로 노출이 안되기 때문에 DDoS 공격 방어에도 좋다.
단 free 플랜을 사용하더라도 카드등록을 해야한다.
cloudflare 설정
- Cloudflare 대시보드 접속: Zero Trust 대시보드 > Networks > Connectors > add a tunnel
- 타입이 두가지 있는데 cloudflare 선택
- 터널 이름 지정
- connector install (시스템에 따른 설치방법을 참고해서 설치한다.)
- 아래 설치 명령에 토큰이 포함되어 있으니 토큰관리에 유념해야 한다.
# Add cloudflare gpg key
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-public-v2.gpg | sudo tee /usr/share/keyrings/cloudflare-public-v2.gpg >/dev/null
# Add this repo to your apt repositories
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-public-v2.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
# install cloudflared
sudo apt-get update && sudo apt-get install cloudflared
sudo cloudflared service install 토큰
cloudflared tunnel run --token 토큰
터널을 연결할 호스트 지정 (이전 페이지에서 next로 넘어온 페이지)
- subdomain : ssh
- domain : sixtick.net
- Service Type: SSH
- service url : localhost:22
- complate setup
Zero Trust Application 구성
외부에서 브라우저로 접근할 수 있도록 권한 계층을 씌웁니다.
- Access controls > Applications > Add an application > Self-hosted.
- 도메인 지정
- Allow access SSH 켜기
- Policy 추가 (emails 선택)
- policy details 작성
- create
접속
아 이메일 코드 넣고 개인키 복사해서 넣어야하고 구리네…
과감히 접고 Tailscale로 갈아타는걸로
안드로이드는 ConnectBot, 윈도우는 파워쉘 쓰자