반응형
  • Client OS: Ubuntu 16.04
  • FreeRDP (xfreerdp) version: 2.0.0-dev2 (3c4385e)
  • Server OS: Windows 10 (version 1709, build 16299.309)



xfreerdp를 이용해서 리눅스에서 원격 윈도우 머신에 RDP (Remote Desktop Protocol) 연결을 해서 쓰고 있었는데, 2018년 들어서 윈도우10이 업데이트되고 나서는 아래와 같이 오류가 나면서 접속이 되지 않았다.



[19:43:47:999] [2320:2321] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[19:43:47:033] [2320:2321] [ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED [0x0002000F]
[19:43:47:033] [2320:2321] [ERROR][com.freerdp.core.transport] - BIO_read returned an error: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error


확인해 보니, 윈도우 10에서 네트워크 수준 인증(Network Leval Authentication; NLA)을 사용하여 원격 접속을 허용하는 옵션과 연관된 듯 했다. 비슷한 문제를 겪는 사람들의 의견을 봤을 때, NLA 옵션을 끄니까 다시 되더라는 사람도 있었고, xfreerdp를 실행할 때 보안 옵션(/sec)으로 nla를 지정해 주었더니 되더라는 사람도 있었다.




*네트워크 수준 인증 (NLA) 끄는 방법:

  1. 시작버튼 누르고 "제어판"이라고 입력해서 제어판(윈도우10 설정 말고) 실행
  2. 시스템 선택
  3. 좌측에 "원격 설정" 선택
  4. 하단 부분에 "이 컴퓨터에 대한 원격 연결 허용" 아래에 있는 체크박스 해제 (네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용 (권장))



*xfreerdp에서 보안 옵션 지정하는 방법:

커맨드 라인에서 실행할 때 /sec 옵션을 추가해 준다.

  • 네트워크 수준 인증을 사용할 경우, /sec:nla
  • 그렇지 않을 경우, /sec:tls



나는 NLA 옵션을 끄고, xfreerdp를 실행할 때 /sec:tls 옵션을 추가했더니 문제 없이 접속이 잘 되었다.




<참고자료>

https://github.com/FreeRDP/FreeRDP/issues/4449#issuecomment-372979253



반응형
블로그 이미지

Bryan_

,
반응형

OS: Ubuntu 11.04, Ubuntu 12.04 LTS


실험을 위해 여러 대의 노트북에 우분투(Ubuntu) 11.04를 설치하고 내 자리에서 VNC로 원격 접속을 자주 하고 있다. 실험하다 보면 가끔 재부팅을 해줘야 하고, 일일이 노트북마다 로그인시키기 귀찮아서 Ubuntu가 팅할 때 자동 로그인이 되도록 설정했다.


그랬더니 부팅/재부팅하고 자동 로그인이 된 후에는 VNC통해 Remote desktop 접속 하려고 하면 한참을 기다려도 연결되지 않는 것이었다. 왜 그런지 봤더니, VNC 연결 대상 노트북에 아래 그림과 같이 login keyring을 묻는 창이 떠 있었다.


(이미지 출처, Image source: http://askubuntu.com/questions/51378/login-keyring-prompt-appears-twice-on-login )

(노트북에서 스크린샷이 되지 않아서 다른 똑같은 창 이미지를 빌려 왔다.)



인터넷에 영어로 찾아보면 비슷한 문제로 불편을 호소하는 글이 많이 검색된다. 몇 가지 방법이 검색되었지만 어떤 방법은 시키는 대로 해도 해결되지 않아서 (오히려 비밀번호 불일치 에러만 발생했다 ㅠㅠ), 나중에 또다시 헤매지 않도록 working solution을 따로 기록하게 되었다.


부팅 후 자동 로그인이 되도록 설정하면 다른 컴퓨터에서 VNC로 연결해 들어올 때 login keyring을 묻는 것이 문제의 핵심이다. 자동 로그인 없이 부팅 후에 사용자가 명시적으로 계정을 선택해서 비밀번호를 입력해 두면, VNC 연결시 keyring을 묻는 창이 뜨지 않는다. 


따라서 login keyring을 물어볼 필요가 없도록 암호를 없애는 식으로 해결할 수 있다.

(주의: 이렇게 하면 보안상 안전성을 장담할 수 없습니다. 필자는 실험의 편의를 위해서 실험실에 흩어져 있는 장비들만을 대상으로 설정했으므로 참고하시기 바랍니다.)




<Login Keyring 묻는 과정을 없애는 방법>


(1) Passwords and Encryption Keys (암호 및 키)를 실행한다.

  - 유니티(Unity)를 쓰는 경우 검색창에 Passwords 를 입력하면 아이콘이 보일 것이다. 한국어 버전에서는 "암호 및 키"로 검색한다.

  - 그놈(Gnome) 클래식 메뉴에서는 Applications > Accessories > Passwords and Encryption Keys 순서로 선택한다.



(2) Passwords 탭에서 보면 "Passwords: login" 이라는 항목이 보일 것이다. 이 항목을 마우스 오른쪽 단추로 누르고 메뉴에서 "Change Password"를 선택한다.



(3) 암호를 재설정하는 창이 뜬다. Old Password 에는 현재 정의 로그인 암호(계정 생성 후에 암호에 대한 별다른 설정을 하지 않았다면 계정 암호와 동일할 것이다)를 입력하고, Password 와 Confirm 항목은 빈칸으로 남겨 둔다.




(4) 그리고 OK 버튼을 누르면 "Store passwords unencrypted?" 라고 물어볼 것이다. "Use Unsafe Storage" 버튼을 누른다.




이제 우분투를 재부팅하고 원격 컴퓨터에서 VNC 연결을 시도해 보면 login keyring을 묻지 않고 바로 연결될 것이다.



반응형
블로그 이미지

Bryan_

,