티스토리 뷰
이 글에서 기억할건 4가지이다.
외부IP, 내부IP, 외부 포트, 내부 포트
이걸 헷깔리면 죽음이다....
내 경우에는 우분투 서버에서, 맥북 클라이언트로 접근하고자 했다.
외부포트는 3333을, 내부 포트는 22를 썼다.
공인 아이피와 사설 아이피
"사설 네트워크는 전세계적인 인터넷이 아닌 국지적인 네트워크로써 굳이 인터넷이 필요하지 않은 경우에 사용됩니다. 본래 이러한 사설 네트워크를 구축하기 위해서는 DHCP 서버와 라우터 등등이 필요하지만, 이러한 기능이 하나로 뭉쳐있는 개인용 장비가 바로 공유기인 것입니다."
사설 아이피에서 사용되는 대역: 10.x.x.x 대역, 172.16~31.x.x대역, 그리고 192.168.x.x 대역
공유기의 공인 아이피, 사설 ip가 있고 공유기에 연결된 컴퓨터들은 사설 ip를 갖게 된다.
포트 포워딩이 필요한 이유
사설 ip는 여기저기서 사용되어서 공인ip와는 다르게 특정 기기를 가르치지 않는다 .
공인ip: 80으로 했을 때 80이 컴퓨터인걸 연결해주는 포워딩이 필요하다.
포트 포워딩 설정하기
1) 기본 게이트 웨이 찾아서 포트포워딩 설정 바꿔주기
맥북에서 route -n get default 명령어를 통해 gateway를 구한다.
나같은 경우에는 192.168.35.1 이었다.
우분투에서는 route -n 명령어를 통해 찾으면 된다.
hostname -I 명령어를 통해 찾으면 된다.
192.168.35.1로 접속하면 머큐리 설정 화면이 나온다.
아이디 - admin, 비밀번호 - 공유기 하단에 쓰인 유선맥 끝 6자리_admin 를 통해서 접속을 시도한다.
(비밀번호는 전부 대문자여야 한다. 이걸 한참 찾다가... 메모장에 기록해두었다 )
아이피 타임 같은 경우에는 192.168.0.1이다.
머큐리 페이지에서 고급 설정 > NAT/라우터 관리 > 포트포워드 를 추가해준다.
프로토콜: TCP
외부포트: 3333-3333
내부포트: 22-22
포워딩 IP 주소: 서버에서 ip addr | grep "inet" 명령으로, 192.168.xx.xx/24 이런식으로 쓰여있는 가장 마지막 값을 쓴다.
그리고 서버, 클라이언트에 ssh를 설치해준다.
서버: sudo apt-get install openssh-server
(우분투는 기본으로 깔려있다)
클라이언트: sudo apt-get install ssh
그리고 우분투 서버에서 ssh server를 실행
sudo service ssh start
여기부터 복잡하다!!
일단, config파일은 호스트에서만 작성하면 된다.
config파일에 들어가는 Host 주소는 서버여야 한다.
host 주소는 우분투에서 "curl ifconfig.me"명령으로 찾거나
192.168.xx.xx/24 이런식으로 쓰여있는 가장 마지막 값을 쓴다. 포트는 아까 머큐리 홈페이지에서 설정한 포트포워딩 주소를 써준다.
Host yejin
HostName 192.168.35.99(내부 IP)
User yejin
Port 3333
하지만 계속 집에서 같은 네트워크로 작업하는게 아니라면 외부 IP로 설정해주어야 한다.
먼저 외부 ip를 아까와 같이 공유기 페이지에서 찾아준다.
나같은 경우에는 WAN 설정정보 > IPv4 주소에 있었다.
(실제로 이게 내 외부ip가 맞는지 확인해보려면 인터넷창에 그 주소를 입력했을 때 공유기 사이트로 가는지 보면 된다.)
Host yejin
HostName 1.225.x.x(외부 IP)
User yejin
Port 3333(외부 포트)
이렇게 하고 vscode ssh로 연결 해본다.
암호를 입력하라고 나온다면, ????
해당 계정의 원래 암호를 입력해주면 된다.
> scp로 한번에 연결되게 하기
scp로 암호를 전달하면 편하다
클라이언트 컴퓨터의 터미널에서
scp -P {아까 열은 외부포트} {클라이언트 rsa파일} {서버 계정 이름}@{외부 IP}:{알고 있는 서버 내 폴더}
주의할점은 서버 계정 이름은 진짜로 서버에서 쓰는 계정 이름만 가능하고(admin, root 없다면 안됨) 서버 내 폴더가 그 계정이 접근 가능한지 확인해야 한다는 것이다.
이걸 통해서 전달하면 해당 서버의 폴더에 ssh파일이 들어있다.
이제 서버에서 cat {파일명}>> .ssh/authorized_keys 명령어를 실행해준다.
그 후 아래와 같은 방식으로 config 파일을 작성해주면 끝이다.
Host, HostName: ip주소
User: 계정 이름
Port: 포트 번호
IdentifyFile: ~/.ssh/id_rsa (pub아님!!)
하 근데 안돼 ㅠㅠ 계속 IdentifyFile이 틀렸대..
+ 나머지 부분은 https://mclearninglab.tistory.com/171 을 확인하자.
그리고 연결하기.
'그 외' 카테고리의 다른 글
[Network] transmission과 propagation의 차이 (2) | 2022.10.04 |
---|---|
outlook을 사용하는 학교 메일 IMAP 연동하기 (0) | 2022.10.04 |
Tistory에 LaTex 적용하기 (0) | 2021.09.24 |