원도우를 조금 더 효율적으로 쓰고자, 본 포스팅을 적는다.
대학원에 오기 전에는 원격접속이라는걸 할 필요가 없었는데, 일도 여기저기서 하고 인터넷 결제에 문서출력 등을 하다 보면 여렷 사람 화나게 하는일이 많다.
그렇다고 나의 개발용 컴퓨터에 Ahnlab 같은 바이러스를 깔수는 없으니, 별도의 결제용 컴퓨터를 하나 마련하여 원격으로 결제나, 문서출력등을 하도록 구성하였다.(강추)
결제를 위해(돈을 쓰기위해) 결제용컴퓨터(50만원가량)을 사용하니, 쾌적한 환경에 아주 편리한 환경이 구축되었다.
나름? 저전력으로 맞추어서 24시간 켜놓아도 무리가 없다. TWINGLE 스틱 PC 2세대를 본 용도로 구매하였으나, 수시로 꺼지는탓과 백신이라는 얼굴을 한 바이러스들을 깔고나니 너무 느려져 사용하기에 많은 무리가 있었다.
그래서 원격 데스크톱을 고려하게 되었는데, 먼저 팀뷰어는 좋긴하나....솔직히 이걸로 뭘 하기에는 무리가 많다. 느려터져서...
나는 태어나서 단 한번도 똥컴을 써본적이 없는터라, 느린 컴퓨터를 사용할 바에야 안하고 만다.
(불굴의 프로그래머의 의지)
장비탓을 하는 프로그래머는 좋지 않다고 했는데, 느려터진 PC보다 쌩쌩 돌아가는 PC에서 작업해야 머리도 쌩쌩 잘 돌아간다고 생각한다.
서론이 많이 길었는데, 간단하게 원격 데스크톱 설정법 부터 적고 간다. 마우스 딸깍거리며 설정하는건 구글 찾아보면 많이 있을테니, 여기선 batch file code를 올린다.
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Get admin permission...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
rem del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
powershell "Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Type DWord -Value 0"
powershell "Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication' -Type DWord -Value 0"
powershell "Enable-NetFirewallRule -Name 'RemoteDesktop*'"
pause
위의 코드중 밑에 3줄만 보면 된다. 레지스트리값을 바꾸는것과 방화벽에 원격 데스크톱을 승인하는것으로 모든 설정은 끝난다. 나머지 코드는 관리자 권한으로 실행하기 위한 코드이다.
만일, 결제를 한다면 9할이상은 Ahnlab을 설치하게 되는데, 이때 이 바이러스 같은 프로그램이 원격 조종 프로세서를 모두 차단한다. 원천 차단이 아닌 프로세스를 죽이는 방식인데 이거에 걸리면
원격데스크톱이던 팀뷰어던 살아남지 못한다.
말만 보안 보안이지, 죄다 쓸데없는 기능만 만들어놔서 (이건 보안이 아닌 그냥 원천 봉쇄라고 보는게 맞겠다.)
트레이 아이콘에서 우클릭후 환경설정을 클릭해, 원격접속차단을 클릭.(하지만 여전히 몇몇사이트에서는 차단이 된다. 그켬)
직접적인 ip할당을 받은 경우에는 원격 데스크톱이 동작하지 않을 수 있다.
웬만하면 공유기를 통해 접속하는게 정신건강에 이롭다.
192.168.0.1 에 접속한 뒤, 아래와 같이 설정한다. 규칙이름은 원하는대로 작성하고 외부 포트를 아래와 같이 임의로 지정하면 포트로 접속이 가능하다.