원격 우분투 서버(PC)에 ssh 연결하기
포스팅의 내용
- 이 포스팅에서는 설치한 우분투 PC 에 외부에서 접속하는 방법을 다룬다.
- 지식이 없어 애를 많이 먹었다. 처음 해보겠다고 생각한지 한참만에 성공했다.
- 결론만 확인하고 싶다면 시행착오 부분은 건너뛰면 된다.
원격 우분투 서버(PC) 에 SSH 연결하기
SSH 란 무엇인가
- SSH 는 Secure SHell 의 약자로, 네트워크상의 다른 컴퓨터에 연결해 명령을 실행할 수 있게 해주는 프로토콜이다.
- 내 컴퓨터로 서버 컴퓨터 내부를 직접 조작하기 위해 사용한다.
원격 PC 의 인터넷 연결 정보 확인하기
시행착오 1 (private IP 에 SSH 시도)
ifconfig
로 판단한 ‘원격 PC’ 의 IP 는192.168.0.2
라고 생각했다.- 이 경우 ‘내 PC’ 가 같은 WIFI 로 연결되어 있다면 SSH 연결을 성공할 수 있다.
ssh gigyesik@192.168.0.2
-> 성공
- 하지만 ‘내 PC’ 가 다른 WIFI 로 연결되어 있다면 SSH 연결이 되지 않는다.
- ‘내 PC’ 를 휴대폰 핫스팟에 연결 후 SSH 연결 -> 실패 (Operation timed out)
- 여기서 SSH 연결을 디버깅하고 싶으면
-v
옵션을 붙여주면 된다.ssh -v {username}@{ip}
OpenSSH_9.6p1, LibreSSL 3.3.6 debug1: Reading configuration data /Users/gigyesik/.ssh/config ... debug1: Connecting to 192.168.0.2 [192.168.0.2] port 22. debug1: connect to address 192.168.0.2 port 22: Operation timed out ssh: connect to host 192.168.0.2 port 22: Operation timed out
- 이 경우 ‘내 PC’ 가 같은 WIFI 로 연결되어 있다면 SSH 연결을 성공할 수 있다.
- 아무것도 모르고 있다. 이대로는 원격에서는 연결이 불가능하다.
- 기초적인 학습이 선행되어야 한다고 생각해 혼자 공부하는 네트워크 를 읽었다.
공유기 포트 포워딩 설정하기
- 위의 네트워크 공부 결과 내가 알아낸 IP 는 private IP 로, ‘공유기’가 할당한 내부 IP 임을 알았다.
- 그렇다면 ‘공유기’의 public IP 를 알아내서, 그 공유기의 주소로 SSH 연결을 시도해야 한다.
- 여기서 포트 포워딩이 필요하다. ‘공유기’의 IP 주소를 안다고 해서 공유기에 연결된 모든 네트워크 장치의 private IP 를 알 수 없기 때문이다.
- 즉
public IP
에 위치한 내 ‘원격 PC’ 로 연결해달라 -> ‘원격 PC’ 를 ‘공유기’의 어느 포트에 물려놓았는지? -> ??? .. 이런 상황이다. - 특정 포트로 접근했을 때 바로 내 ‘원격 PC’ 로 연결되도록 포트 포워딩(port forwarding)을 설정해야 한다,
공유기의 public IP 알아내기
- GUI 환경이라면 인터넷에 연결된 채로 구글에
what is my ip
라고 검색한다. - CLI 환경이라면
curl ipinfo.io/ip
를 입력한다.- ‘원격 PC’ 는 우분투 CLI 환경이므로 curl 을 사용한다.
시행착오 2 (iptime 공유기 포트포워딩 설정)
- 실패했지만 다른 곳의 네트워크 구성 환경이었다면 가능했을 수 있어 기록으로 남겨둔다.
- iptime 공유기(A1004NS)의 관리 페이지인
192.168.0.1
에 브라우저를 통해 접속한다. (이하 펌웨어 12.16.2 기준) 고급 설정 -> 네트워크 관리 -> DHCP 서버 설정
에서 내 ‘원격 PC’ 의 private IP 를 고정한다.고급 설정 -> NAT/라우터 관리 -> 포트포워드 설정
에서 포트포워딩을 규칙을 추가한다.- 위에서 알아낸 public ip 와 포트 옵션을 사용해서 SSH 연결 시도 -> 실패 (Operation timed out)
- 특정 포트로 연결하려면
-p
옵션을 사용한다.ssh {username}@{ip} -p {port number}
- 특정 포트로 연결하려면
- 원래는 여기서 성공했어야 했다.
포트 포워딩 설정하기 (유플러스 공유기 포트포워딩 설정)
- 먼저 ‘원격 PC’ 에 공유기 와이파이를 연결한다.
- 모체 공유기 관리자 페이지 접속 (필자는 유플러스 사용. 관리자 페이지
192.168.219.1
)- 초기 로그인 비밀번호는 공유기 바닥에 적혀있는
관리자 웹 접속 암호
를 입력한다.
- 초기 로그인 비밀번호는 공유기 바닥에 적혀있는
네트워크 설정 -> NAT 설정 -> 포트 포워딩 -> 포트포워딩 추가
규칙 생성- 서비스 포트 : 임의의 포트
- 프로토콜 : TCP/IP
- 내부 IP 주소 : ‘원격 PC’ 의 ifconfig 결과
- 내부 포트 : 22 (SSH well known port)
원격 PC ssh 설정 확인하기
연결 확인하기
내부 네트워크
- ‘내 PC’ 와 ‘원격 PC’ 동일 와이파이 연결
ssh {username}@{public ip} -p {forwaring port}
: 성공ssh {username}@{private ip}
: 성공
외부 네트워크
- ‘내 PC’ 와 ‘원격 PC’ 다른 와이파이 연결
ssh {username}@{public ip} -p {forwaring port}
: 성공ssh {username}@{private ip}
: 실패
This post is licensed under CC BY 4.0 by the author.