Windows Powershell: 관리자 administrator 계정 활성화와 Openssh 서버 활성화

외부에서 원격접속해서 관리자 명령을 실행하려면 관리자 권한이 필요하다. 윈도우 파워쉘에서 openssh 설치하고 시작/재시작 등의 작업을 위해서는 administrator 계정이 활성화 되어야 한다.

  1. openssh windows server 설치
  2. administrator 계정 활성화
  3. 원격 ssh 접속

Powershell Openssh 설치

윈도우 파워쉘에서 openssh 설치

administrator 계정

명령행을 관리자 권한으로 실행하고 아래 명령 수행. 어드민 계정이 활성화 상태로 변경됩니다.
어드민 계정이 활성화되어 있기 때문에 Administrator 계정으로 로그인이 가능해집니다.

윈도우즈 administrator 활성화

administrator 게정을 활성화 하려면

  1. 파웨쉘을 관리자로 실행해 다음 같이 실행한다.
1
> net user administrator /active:yes

패스워드 변경은 사용자 계정 변경에서 ‘다른 계정 관리’

  1. 관리자 권한으로 실행할 명령 앞에 runas 명령을 붙여 실행한다.

파워쉘에서 관리자로 명령을 실행하려면 runas 명령을 사용한다.

1
runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1"

참고

  1. openssh 서버 구성: https://docs.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_server_configuration
  2. https://docs.microsoft.com/ko-kr/powershell/scripting/learn/remoting/ssh-remoting-in-powershell-core?view=powershell-7.1
  3. 윈도우즈 서비스 만들기: https://docs.microsoft.com/ko-kr/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer

Python : pyenv-windows 와 Jupyterlab 환경

pyenv-windows 와 Jupyterlab 환경

pyenv-windows 설치

파워셀에서 설치 스크립트를 실행해서 설치하는 과정으로 정리되어 있다.

준비

  1. 테스트
    • Windows 10 Home 21H1 / 19043.928
    • Microsoft Visual C++ 2015-2019 Redistribution
    • pip version 22.1 혹은 22.0 상태
  2. 주의
    Windows 최신 (Windows 11 등)

    pip 22.3 이상인 경우 Microsoft Visual C++ Build Tools 를 설치해야 한다.

    이어지는 Microsoft C++ Build Tools 설치 참조해 설치한다.

PowerShell 스크립트 실행 모드 확인

외부 스크립을 실행할 수 있기 위해서는 ExecutionPolicy가 unrestricted 상태여야 한다.

PowerShell을 관리자 모드로 실행해

다음과 같이 입력

1
2
> ExecutionPolicy      <-- 현재 상태 확인
Restricted <-- 모든 스크립트 막은 상태

모드 변경을 위해 다음 명령 실행

1
> Set-ExecutionPolicy Unrestricted

모드 변경 확인

1
2
> ExecutionPolicy      <-- 현재 상태 확인
Unrestricted <-- 모든 스크립트 허용 상태.

모드가 Unrestricted 상태에서 pyenv-win 을 설치한다.


pyenv-win 설치

pyenv-win 설치 항목에서 파워쉘을 통해 스크립트 실행을 통해 설치한다. 모든 방법들은 윈도우 홈 디렉토리의 .pyenv/ 폴더 아래에 실행 스크립을 위치한다.

인스톨러

다음 파워쉘 스크립트를 파워쉘에서 실행한다.

1
2
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

만약 Unauthorized Script 에러가 나면 PowerShell 스크립트 실행 모드 확인 같이 Unrestricted 모드로 설정해야 한다.

실행하면 %USERPROFILE%/.pyenv 아래에 관련 파일을 다운로드 한다.

설치 완료후 파워쉘에서 pyenv 명령을 실행하면 아래 같이 도움말 화면이 나오면 성공이다.

Microsoft C++ Build Tools 설치

pip versions 22.3 이상 업그레이드 혹은 설치를 하면 Redistribution 패키지 설치로는 해결이 안된다.

  • pip v22.1 까지는 Microsoft Visual C++ 2015-2019 Redistribution 로도 충분하다.

다음 사이트에서 build tools 을 다운로드 받아 설치한다.

설치시 아래 옵션을 선택해 설치한다.

Python 배포본 설치

이제 pyenv 를 사용해서 Python 3.10, Python 3.9 버전을 설치해 보자.

설치 가능한 버전은 pyenv install -l 명령으로 확인 가능하다. 아래 같이 파워셀에서 필요한 버전을 필터링해 확인해 보자.

1
2
3
4
5
6
7
8
PS > pyenv install -l | findstr 3.9
.
.
3.9.11
3.9.12-win32
3.9.12
3.9.13-win32
3.9.13

원하는 버전의 버전 번호를 입력해 설치한다.

윈도우 버전의 배포본이 pyenv 의 가상환경 폴더 밑에 설치 된다.

이어서 바로 Python 3.9 버전도 설치해 보자.

윈도우 버전 배포본 설치가 진행된다.

pyenv 에서 설치한 Python 3.10, Python 3.9 를 설치 확인을 해보자

Jupyter-Lab 설치

3.9 버전을 글로벌로 지정했다.

1
PS C:\Users\andro> pyenv global 3.9.12

pyenv 가능한 버전 확인

1
2
3
PS C:\Users\andro> pyenv versions
3.10.4
*3.9.12

현재 파워쉘의 파이썬 버전을 3.10 으로 지정했다.

1
2
3
PS C:\Users\andro> pyenv shell 3.10.4
PS C:\Users\andro> python -V
Python 3.10.4

venv 모듈로 가상환경을 생성하고 활성화 한다.

1
2
3
PS C:\Users\andro> python -m venv .venv/jupyter_p310
PS C:\Users\andro>.\.venv\jupyter_p310\Scripts\activate
(jupyter_p310) PS C:\Users\andro>

jupyter-lab 설치

1
2
(jupyter_p310) PS C:\Users\andro> pip install jupyterlab
Collecting jupyterlab

Jupyter-lab에서 사용할 notebook 공간 생성

1
(jupyter_p310) PS C:\Users\andro> mkdir jupyter-work

jupyter-lab 실행

1
2
3
4
5
6
7
8
9
10
11
(jupyter_p310) PS C:\Users\andro> jupyter-lab --no-browser .\jupyter-work\
...
[I 2022-05-24 03:27:03.847 ServerApp] Serving notebooks from local directory: C:\Users\andro\jupyter-work
[I 2022-05-24 03:27:03.847 ServerApp] Jupyter Server 1.17.0 is running at:
...
To access the server, open this file in a browser:
file:///C:/Users/andro/AppData/Roaming/jupyter/runtime/jpserver-4664-open.html
Or copy and paste one of these URLs:
http://localhost:8888/lab?token=866bdd9bed841f4dafc5c431a7ffcd4b01f516e4583f38d7
or http://127.0.0.1:8888/lab?token=866bdd9bed841f4dafc5c431a7ffcd4b01f516e4583f38d7
[W 2022-05-24 03:28:04.189 LabApp] Could not determine jupyterlab build status without nodejs