원격데스크탑 비밀번호를 커맨드창(DOS PROMPT) 상에서
자동으로 저장하고 이를 이용해
원격데스크탑 접속시 비밀번호 입력을 별도로 하지 않는 방법에 대한 포스트입니다.
원격데스크탑으로 접속 하는 사이트가 많을 수록 비밀번호 관리도 힘들어지고
사이트 별 IP 등을 관리하기도 힘들어 지는데요.
2016/10/19 - [IT] - 원격데스크탑 접속 사이트 관리 및 멀티 다중 접속 프로그램 -Remote Desktop Connection Manager
위와 같은 프로그램으로도 관리가 가능합니다.
원격데스크탑의 비밀번호를 저장하기 위해서는 cmdkey.exe 라고 하는 명령어를 이용해 저장할 수 있고,
이를 토대로 원격데스크탑으로 접속할 사이트 IP와 PW등을 이용해
바로 접속하게끔 할 수 있습니다.
.
void lknGrid1_evtDBLClick(DataRow dr) { Process rdcProcess = new Process(); rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe"); rdcProcess.StartInfo.Arguments = "/add:TERMSRV/" + dr["center_ip"].ToString() + " /user:" + dr["center_id"].ToString() + " /pass:" + dr["center_pw"].ToString(); rdcProcess.Start(); rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe"); rdcProcess.StartInfo.Arguments = "/v " + dr["center_ip"].ToString() + ":" + dr["CENTER_PORT"].ToString(); rdcProcess.Start(); }
DataRow 객체를 넘겨 받아 Process() 객체를 생성해서 커맨드라인 명령어를 호출 하는 부분입니다.
먼저 cmdkey를 이용한 사이트의 아이디와 패스워드를 저장하고,
mstsc.exe 를 호출해서 원격데스크탑(Remote Desktop) 연결을 하는 소스입니다.
dr["center_ip"] 는 IP 주소.
dr["center_id"] 는 원격 사용자 아이디 보통은 Administrator 일것 같네요?ㅋ
dr["center_pw"] 는 원격 사용자 비밀번호.
dr["center_port"] 는 원격 데스크탑 포트번호. (원격데스크탑의 기본 포트는 3389번입니다만,
보안 때문에 다른 포트로 변경하기도 합니다.
C:\Users\au>cmdkey /? 저장된 사용자 이름 및 암호를 만들고, 표시하고 삭제합니다. 이 명령의 구문: CMDKEY [{/add | /generic}:대상 이름 {/smartcard | /user:사용자 이름 {/pass{:암호}}} | /delete{:대상 이름 | /ras} | /list{:대상 이름}] 예: 사용 가능한 자격 증명을 나열하려면: cmdkey /list cmdkey /list:대상 이름 도메인 자격 증명을 만들려면: cmdkey /add:대상 이름 /user:사용자 이름 /pass:암호 cmdkey /add:대상 이름 /user:사용자 이름 /pass cmdkey /add:대상 이름 /user:사용자 이름 cmdkey /add:대상 이름 /smartcard 일반 자격 증명을 만들려면: 일반 자격 증명을 만들려면 /add 스위치는 대신 /generic 스위치를 사용할 수도 있습니다. 기존 자격 증명을 삭제하려면: cmdkey /delete:대상 이름 RAS 자격 증명을 삭제하려면: cmdkey /delete /ras
댓글