최근 노트북(맥)을 사게 되면서, 미니pc로 집에서 윈도우 or 리눅스를 구동하고 싶어졌다. 여차 저차 미니pc를 구매하게 되면서, rdp를 사용해서 맥과 윈도우를 연결하게 되었는데, 찾아보다 보니 단순하게 그냥 포트 열고 연결하는 포스트가 많아서 보안 연결은 어떻게 해야하지 하다 찾은 정보를 정리하기 위해서 작성한다.
구성은 ssh 터널링을 통해서 rdp포트를 열어서 통신
결론 -> rdp 안전하게 사용하자!
접속할 pc : m1맥북
서버 pc : 윈도우11
공유기 : iptime
rdp활성화, openssh설치, ssh 공개키 정도는 가지고 있을거라 생각하고 작성합니다. 요것들은 나중에 시간나면 적겠습니다.
이 과정에서의 포트포워딩은 rdp포트를 열어주는게 아니라 ssh터널링을 위해서 열어주는 것.
윈도우 기준) 설정 - 개인정보 및 보안 - 방화벽 및 네트워크 보호 - 고급 설정 .. 으로 가서 '고급 보안이 포함된 ...' 창을 열어준다.
더블클릭해서 열어서 프로토콜 및 포트 - 로컬 포트를 위에서 포트포워딩한 내부 포트로 설정한다.
인바운드 규칙 - 새 규칙... - 포트 - 특정 로컬 포트 : 위에서 포트포워딩 한 내부 포트 : - 하고 계속 그냥 다음다음다음 하면 된다.
openssh를 통해서 개인키를 만들어준다. 없으면
$ ssh-keygen
으로 만들면 된다. 이름은 그냥 엔터 눌러서 넘어가고, 비밀번호도 따로 설정하지는 않는다. 결과로 나온 키들은 '~/.ssh'에 저장된다. *.pub
으로 끝나는게 공개키이다.
공개키를 서버에 저장해야하는데 그 위치는 ~/.ssh/authorized_keys
에 저장하면 된다. 없으면 만들고 저장하면 된다.
ssh로 서버 pc에 접속했을때 비밀번호 없이 바로 접속되면 성공
혹시 안된다면
ssh_config
파일에서 PubkeyAuthentication가 yse인지 확인할 것
공개키를 만들어서 성공적으로 접속을 했으니, 공개키가 없으면 얄짤없이 못들어오게 설정해야 한다.
PubkeyAuthentication yes
PasswordAuthentication no
위 부분이 #으로 주석처리 되어있거나 아니면 그냥 위처럼 수정하면된다.
설정 완료했으면 ssh재시작
윈도우+R ->regedit으로 레지스트리편집기를 열고 아래와 같은 경로로 이동
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
portNumber를 바꾸고 싶은걸로 바꾸면 된다. 바꾸고 기존에 열린 rdp포트는 방화벽 인바운드 규칙으로 닫아주면 된다.
ssh "id"@"ip" -p "port" -l "localport":localhost:"rdpPort"
바꿔서 작성해야 하는건 ""로 묶었다. 위의 명령어로 ssh 를 접속해주면 된다.
그 후 remote desktop을 열어서 pc이름(주소)를
localhost:"localport"
으로 작성하면 연결 끝!
미리 설정한 후에 다시 적는거라 틀린 부분이 있을수도 있습니다. 남겨주시면 바로 확인하겠슴다.