SSH를 사용해야 할까요, 아니면 psexec를 사용해야 할까요? 각각의 이점은 무엇입니까?

SSH를 사용해야 할까요, 아니면 psexec를 사용해야 할까요? 각각의 이점은 무엇입니까?

우리 개발 운영 팀은 현재 소스를 구축하고 해당 소스를 대상 상자에 배포합니다(일반적인 설정). 현재 우리는 psexec를 사용하여 원격 호스트에 명령을 실행합니다(예: 환경 종료, 새 코드 전송, 환경 부팅 등).

이 작업에 SSH를 사용하는 것이 더 나을까요? 더 안정적이고 사용자 친화적일까요? 누군가가 각각의 장단점을 이해하도록 도와줄 수 있습니까?

답변1

Windows에는 기본적으로 SSH가 포함되어 있지 않다는 사실을 고려하면 현재 배포하는 모든 상자에 SSH를 설정해야 합니다.

물론 psexec를 통해 쉘 스크립트로 이를 자동화하도록 설치 스크립트를 설정할 수 있습니다. :)

실제로 사용 사례에 따라 다릅니다.

보안은 얼마나 중요합니까?

SSH는 텔넷을 대체하도록 설계되었습니다. 텔넷처럼 원격 시스템에 쉘을 제공하지만 모든 데이터는 보안 터널을 통해 전송되므로 누군가가 패킷을 스니핑하면 모든 데이터가 암호화됩니다.

전반적으로 SSH는 훨씬 더 다양합니다. 다른 애플리케이션이 SSH 터널을 사용하여 통신할 수 있도록 TCP 전달을 설정할 수 있습니다. 이에 대한 예는 VNC입니다. 일반적으로 원격 프레임 버퍼(화면 데이터)는 네트워크를 통해 암호화되지 않은 상태로 전송됩니다. SSH를 통해 원격 시스템에 쉽게 연결한 다음 SSH 터널을 사용하여 화면 데이터를 안전한 방식으로 보낼 수 있습니다.

PSEXEC는 위에서 설명한 내용을 위한 훌륭한 도구입니다. 추가 설정이 필요하지 않습니다(창에 구워짐).

PSEXEC는 RPC(원격 프로시저 호출)를 사용하여 통신합니다. 나는 일단 "통신 채널"이 설정되면 데이터가 암호화된다고 믿습니다. 비록 사용된 방법이 확실하지는 않지만(SSH는 다양한 방법으로 구성될 수 있습니다).

그러나 사용자 자격 증명을 제공해야 하는 경우에는 네트워크를 통해 전송됩니다 in PLAIN TEXT. 나는 이것이 명령의 출력에 기록될 수 있다고 믿습니다 psexec /?. 나는 지금 확인하기 위해 Windows 상자 앞에 있지 않지만.

이것 좀 봐링크옵션의 경우 예제 섹션 앞에 이에 대한 참고 사항이 있습니다.

다시 한 번 말하지만 실제로 수행해야 할 작업에 따라 다릅니다. 안정성까지. PSEXEC에서는 안정성 문제가 전혀 발생하지 않았습니다. PSEXEC를 사용하는 데 문제가 있는 경우를 제외하고 안정성 때문에 PSEXEC를 통한 SSH를 고려해야 한다고는 말하지 않겠습니다.

PSEXEC는 SSH만큼 구성할 수 없습니다. PSEXEC의 제한 사항에 직면하지 않는 한 SSH를 고려해야 할 수도 있습니다. 단순히 새 코드를 복사하고 원격 시스템을 재부팅하고 PSEXEC를 통해 자격 증명을 전달하지 않는 경우(즉, 원격에서 현재 사용자 이름을 통해 명령을 실행하는 경우) 계속 그렇게 하면 안 될까요?

사실, 복사하고 다시 시작해야 한다면 PSEXEC 대신 / / (LAN에 있거나 VPN을 통한 다른 경로가 있는 경우) cmd.exe와 같은 일부 명령을 사용하면 어떨까요?copyxcopyshutdown

관련 정보