728x90

Powershell – Remoting (원격 접속)

원격지에 있는 Powershell 에 접속이 가능하다 정확히는 Session 을 만들수 있는데 이 Session을 이용하여 원격지에 있는 Powershell 과 상호작용이 가능한것이다.
자주쓰게 되는 기능인데 물어보는 분들이 많아 정리 해 둔다.
자세한 규칙이나 프로토콜, 원리등을 설명하면 20페이지정도 문서가 나올꺼 같지만 여기선 필요한 과정들에 대한 설명만 기록한다.

바쁜사람들은 아래를 보고 따라하자.

A 가 B 에 원격 접속 하고 싶을 때.

초간단 설정

정말 바쁘거나 세부내용을 알기 싫고 모르겠으면 A와 B 양쪽에 아래 명령을 입력하고 “사용하기” 로 넘어가자.

A 측에 할 작업

Enable-PSRemoting

다음과 같은 셋팅을 한꺼번에 하려고 한단다.

그뒤 SDDL 별로 Set-PSSessionConfiguration 을 수행 하면서 질문을 하는데, 필요한것 것들에 대해 Y를 눌려 수행한다. (잘 모르겠으면 A – Yes to All)



이해가 잘 안가거나 다 Yes 하고 싶으면 -Force 옵션을 붙히자.

A 와 B 에 모두 할 작업

WSMan:localhostClientTrustedHosts 설정

Powershell 원격제어를 하는 Protocol 은 상호간에 TrustedHost 가 설정 되어 있어야 한다.
다음 명령으로 현재 값을 확이해 보면 Value 가 공란으로 있을 것이다.

이 값을 상대방의 ComputerName, IP, Domain 등으로 설정하면된다.
값은 ,로 구분해 Array로 넣을 수 있고 * 를 사용할 수 있다.

예를 들어.

모든 대상에 대해서 허용.

컴퓨터 이름이 Alpha, Beta 인 두 대상을 허용.

IP 가 192.168.0.10 인 대상을 허용.


역시 잘 모르겠으면 다음을 입력하자.

사용 하기

ssh 나 telnet 처럼 원격으로 접속하여 사용하길 원하면 다음 명령을 이용한다.


명령하나를 원격지에 수행하고 싶다면 Invoke-Command 를 이용한다.

ComputerName 대신 미리 New-PSSession 명령을 이용해 Session 을 만들어 그것을 사용할 수도 있다. 말그대로 같은Session에서 수행 되기 때문에 연속적인 작업을 나누어 할수 있고 여러번 수행할때 속도도 빠르다.



728x90

+ Recent posts