【OpenRPA】SSH 접속하는 커스텀 액티비티를 만들어 보았다

4552 단어 SSHRPAC#OpenRPA
OpenRPA에서 SSH 연결을 하고 싶었는데 현시점 버전에 SSH 활동이 없었기 때문에 만들어 보았습니다.

어떻게 만드는가?



OpenRPA 위키

The robot uses Microsoft Workflow Foundation ( .NET version 4.6.2 ). A lot of different products uses this platform ( even other RPA products, for instance UIPath), and in many cases activities created for one platform will also work here. Say someone created an activity that reads the content of a PDF file and inserted that into a string, that activity would most likely also work inside OpenRPA.

로봇은 Microsoft Workflow Foundation(.NET 버전 4.6.2)을 사용합니다. 많은 다른 제품이 이 플랫폼을 사용하고 있으며(UIPath와 같은 다른 RPA 제품조차도) 하나의 플랫폼에 대해 작성된 활동도 여기에서 작동합니다. 누군가 PDF 파일의 내용을 읽고 문자열에 삽입하는 활동을 작성했다고 가정합니다. 해당 활동은 아마도 OpenRPA 내에서도 작동합니다.

요점은, 「Workflow Foundation 베이스로 만들어진 것이라면 OpenRPA에서도 아마 사용할 수 있어!」라는 것.
반대로, UiPath의 커스텀 액티비티를 만드는 방법을 알면 OpenRPA의 커스텀 액티비티도 만들 수 있을 것입니다!

참고한 기사



【UiPath】커스텀 액티비티의 작성(사전 준비와 실천 초급)
UiPath Studio에서 사용할 맞춤 활동을 만드는 방법
UiPath Studio에서 사용할 사용자 지정 활동을 만드는 방법 계속 (GUI 구축)

UiPath의 맞춤 활동을 만드는 방법으로 이러한 기사를 참조했습니다.

OpenRPA의 맞춤 활동을 만들 때도 위와 동일한 내용으로 거의 만들 수 있습니다.
그러나 현재 OpenRPA는 NuGet을 지원하지 않으므로 NuGet 관련 절차는 무시합니다.

그렇게 할 수있는 것





설치 방법



Visual Studio에서 빌드하면 릴리스 아래에
  • OpenRPA.PMTech.SSH.dll
  • Renci.SshNet.dll

  • 수 있으므로 OpenRPA 폴더(C:\Program Files\OpenRPA)에 복사하십시오.

    조금 해설



    액티비티 자체를 만드는 방법은 위의 참고 기사대로 만들었을 뿐이므로 해설은 생략합니다.

    SSH 연결



    SSH 연결에 대해서는 sH. 뿌리 T이라는 라이브러리를 사용하고 있습니다.
    Visual Studio의 NuGet 패키지 관리자에서 다운로드하여 사용하고 있습니다.



    SSH 암호 문제



    이런 식으로 연결 정보를 만들고 있습니다 만, 비밀번호가 일반 텍스트입니다.

    RunCommandActivity.cs
    
    public InArgument<string> Password { get; set; }
    
    ConnectionInfo con = new ConnectionInfo(host, port, user, ProxyTypes.None, null, 0, null, null,
        new AuthenticationMethod[] {
            new PasswordAuthenticationMethod(user, password) });
    
    
    SecureString 사용해 주면 일반 텍스트는 회피할 수 있다고 생각합니다만, 테스트가 아무래도 에러가 되어 버려 해결할 수 없었습니다.
    PasswordAuthenticationMethod 를 사용하고 있기 때문에 유저/패스워드의 인증 밖에 할 수 없습니다만, PrivateKeyAuthenticationMethod

    결론



    일단 동작 확인은 하고 있습니다만, 제대로 테스트는 하고 있지 않습니다.
    (SSH.NET을 부르는 것만으로 괜찮다고 생각하지만)

    이번에 만든 것은 단발 활동이지만 정말 스코프 같은 느낌으로 하고 싶었지요.
    (처음에 접속처만 정의하고, 복수 커맨드 연속 실행 같은)
    이 근처도 조금 조사해, 기능 추가해 보려고 생각합니다.

    좋은 웹페이지 즐겨찾기