원격 연결에 대한 인증
Windows 원격 관리는 인증 및 메시지 암호화의 몇 가지 표준 방법을 지원하여 컴퓨터 간 통신에 대한 보안을 유지 관리합니다.
기본 그룹 액세스
설치하는 동안 WinRM은 로컬 그룹 WinRMRemoteWMIUsers__ 만듭니다. 그런 다음 WinRM은 로컬 관리 그룹 또는 WinRMRemoteWMIUsers__ 그룹의 구성원이 아닌 모든 사용자에 대한 원격 액세스를 제한합니다. 명령 프롬프트에 net localgroup WinRMRemoteWMIUsers__ /add domain\<username>을 입력하여 로컬 사용자, 도메인 사용자 또는 도메인> 그룹을 WinRMRemoteWMIUsers__ 추가할 < 수 있습니다. 필요에 따라 그룹 정책 사용하여 그룹에 사용자를 추가할 수 있습니다.
기본 인증 설정
기본 자격 증명, 사용자 이름 및 암호는 스크립트를 실행하는 로그온한 사용자 계정의 자격 증명입니다.
원격 컴퓨터의 다른 계정으로 변경하려면
- ConnectionOptions 또는 IWSManConnectionOptions 개체에서 자격 증명을 지정하고 CreateSession 호출에 제공합니다.
- CreateSession 호출의 flags 매개 변수에서 WSManFlagCredUserNamePassword를 설정합니다.
다음 목록에는 스크립트 또는 애플리케이션이 기본 자격 증명으로 실행되면 발생하는 작업의 목록이 포함되어 있습니다.
- Kerberos 는 클라이언트가 도메인에 있고 원격 대상 문자열이 localhost, 127.0.0.1 또는 [::1] 중 하나가 아닌 경우 인증의 기본 방법입니다.
- Negotiate 는 클라이언트가 도메인에 없는 경우 기본 메서드이지만 원격 대상 문자열은 localhost, 127.0.0.1 또는 [::1] 중 하나입니다.
ConnectionOptions 개체와 함께 명시적 자격 증명을 제공하는 경우 Negotiate가 기본 방법입니다. 협상 인증은 컴퓨터가 도메인 또는 작업 그룹에 있는지 여부에 따라 진행 중인 인증 방법이 Kerberos 또는 NTLM인지 여부를 결정합니다. 로컬 계정을 사용하여 원격 대상 컴퓨터에 연결하는 경우 계정에 컴퓨터 이름이 접두사로 추가되어야 합니다. 예를 들어 myComputer\myUsername입니다.
Negotiate, Digest 또는 Basic 인증을 지정하고 ConnectionOptions 개체를 제공하지 않으면 명시적 자격 증명이 필요하다는 오류가 표시됩니다. HTTPS가 전송이 아닌 경우 대상 원격 컴퓨터를 신뢰할 수 있는 호스트 컴퓨터 목록에서 구성해야 합니다.
기본 구성 설정에서 사용하도록 설정된 인증 유형에 대한 자세한 내용은 Windows 원격 관리를 위한 설치 및 구성을 참조하세요.
기본 인증
WSMan.CreateSession 호출에서 기본 인증을 명시적으로 설정하려면 flags 매개 변수에서 WSManFlagUseBasic 및 WSManFlagCredUserNamePassword 플래그를 설정합니다. WinRM 클라이언트와 WinRM 서버 모두에 대한 기본 구성 설정에서는 기본 인증을 사용할 수 없습니다.
다이제스트 인증
WSMan.CreateSession 호출에서 다이제스트 인증을 명시적으로 설정하려면 flags 매개 변수에서 WSManFlagUseDigest 플래그를 설정합니다. 다이제스트는 지원되지 않습니다. WinRM 서버 구성 요소에 대해 구성할 수 없습니다.
인증 협상
WSMan.CreateSession 호출에서 Windows 통합 인증이라고도 하는 협상 인증을 명시적으로 설정하려면 flags 매개 변수에서 WSManFlagUseNegotiate 플래그를 설정합니다.
UAC(사용자 계정 컨트롤) 는 WinRM 서비스에 대한 액세스에 영향을 줍니다. 작업 그룹에서 인증 협상 을 사용하는 경우 기본 제공 관리자 계정만 서비스에 액세스할 수 있습니다. Administrators 그룹의 모든 계정이 서비스에 액세스할 수 있도록 하려면 다음 레지스트리 값을 설정합니다.
Hkey_local_machine\소프트웨어\Microsoft\Windows\CurrentVersion\정책\시스템\LocalAccountTokenFilterPolicy = 1
Kerberos 인증
WSMan.CreateSession 호출에서 Kerberos 인증을 명시적으로 설정하려면 flags 매개 변수에서 WSManFlagUseKerberos 플래그를 설정합니다. 클라이언트 컴퓨터와 서버 컴퓨터 모두 도메인에 가입해야 합니다. Kerberos를 인증 방법으로 사용하는 경우 WSMan.CreateSession 또는 IWSMan::CreateSession 호출에서 IP 주소를 사용할 수 없습니다.
클라이언트 인증서 기반 인증
WSMan.CreateSession 호출에서 클라이언트 인증서 기반 인증을 설정하려면 flags 매개 변수에서 WSManFlagUseClientCertificate 플래그를 설정합니다.
먼저 Winrm 명령줄 도구를 사용하여 클라이언트와 서비스 모두에서 인증서 인증을 사용하도록 설정해야 합니다. 자세한 내용은 인증 옵션 사용을 참조하세요. WinRM 서버 컴퓨터의 CertMapping 테이블에 항목을 만들어야 합니다. 이렇게 하면 하나 이상의 인증서와 로컬 계정 간에 매핑이 설정됩니다. 인증서를 인증 및 권한 부여에 사용한 후에는 WinRM 서비스에서 수행하는 작업에 해당 로컬 계정이 사용됩니다.
특정 리소스 URI에 대한 매핑을 만들 수 있습니다. CertMapping 테이블 항목을 만드는 방법을 포함하여 자세히 알아보려면 명령 프롬프트에 winrm help certmapping 을 입력합니다.
참고
이 컨텍스트에서 WinRM에서 사용할 수 있는 최대 크기 인증서는 16KB입니다.
인증 옵션 사용 또는 사용 안 함
시스템 설치 시 기본 인증 옵션은 Kerberos입니다. 자세한 내용은 Windows 원격 관리를 위한 설치 및 구성을 참조하세요.
스크립트 또는 애플리케이션에 사용하도록 설정되지 않은 특정 인증 방법이 필요한 경우 이 유형의 인증을 사용하도록 구성을 변경해야 합니다. 이 변경은 Winrm 명령줄 도구를 사용하거나 Windows 원격 관리 그룹 정책 개체에 대한 그룹 정책 통해 수행할 수 있습니다. 특정 인증 방법을 사용하지 않도록 선택할 수도 있습니다.
Winrm 도구를 사용하여 인증을 사용하거나 사용하지 않도록 설정하려면
WinRM 클라이언트에 대한 구성을 설정하려면 Winrm Set 명령을 사용하고 클라이언트를 지정합니다. 예를 들어 다음 명령은 클라이언트에 대한 다이제스트 인증을 사용하지 않도록 설정합니다.
winrm set winrm/config/client/auth @{Digest="false"}
WinRM 서버에 대한 구성을 설정하려면 Winrm Set 명령을 사용하고 서비스를 지정합니다. 예를 들어 다음 명령은 서비스에 대해 Kerberos 인증을 사용하도록 설정합니다.
winrm set winrm/config/service/auth @{Kerberos="true"}
관련 항목