2024-10-15(TUE)
1. Windows 10, Rocky Linux 9.4, Windows Server 2022 Installation
1-1. Windows 10 Installation
(1) 실습환경 구성을 위한 Windows 10을 설치한다.
1-2. Rocky Linux
(1) Rocky Linux 환경도 구성한다.
(2) 설치를 위해 첫 번째 옵션을 선택한다.
(3) 설치를 위한 파일 및 라이브러리를 자동으로 불러오게 된다.
(4) 관리자 계정의 경우 잠금으로 되어 있는 부분을 해제하고 관리자 루트 암호를 설정한다.
(5) 워크스테이션, 시스템 툴을 선택한다.
(7) 그 외에도 테스트 유저 생성, KDUMP Disable, 파티션 설정, 호스트 이름 지정(Linux-ans)을 설정하고 설치를 시작한다.
(8) 로키 리눅스 설치가 완료되면 관리자 계정으로 접속한 뒤 systemctl stop firewalld 커맨드로 방화벽 서비스를 비활성화한 뒤 inactive(Dead) 상태가 되었는지까지 확인해준다.
1-3. Windows Server 2022
(1) 윈도우 서버 VM을 생성한다.
(2) 윈도우 서버 설치 후 Internet Explorer Enhanced Security Configuration에서 관련 옵션들은 모두 Disable 한다.
(3) 방화벽 설정까지 모두 Disable한다.
2. Windows 10 : VS Code, GitHub Copilot, Miniconda3 Installation
2-1. GitHub Copilot Installtion(Github와 연동됨, 계정 필요)
(1) 코파일럿은 기본적으로 유료 서비스로 운영된다. 결제하고 사용한 적이 있어서 활성화되어 있지만 활성화되어 있지 않다면 한 달만 무료로 사용하거나 아니면 매월 결제를 하고 사용해야 한다.
2-2. VS Code Installation
(1) Visual Studio Code를 다운로드 받는다.
(2) 현재 모든 실습조원들이 작업을 같이 수행하다 보면 개인 가상 스위치(ywj-sw) 환경에서는 다운로드나 설치 속도가 느릴 수 있으니 VM Network로 연결해서 외부 IP 주소를 직접 사용하도록 변경해 놓는다.
(3) 설치 프로그램을 다운 받고 VS Code 설치를 완료한다.
(4) 파이썬 플러그인을 설치한다.
(5) Github 코파일럿을 사용하기 위해 코파일럿 플러그인을 설치한다.
(6) GitHub 계정과 연동해 주어야 플러그인을 사용할 수 있다.
2-3. Miniconda(ANACONDA) Installation
(1) Anaconda 설치를 진행한다. (4가지 옵션 모두 체크)
(2) 압축을 풀고 설치가 진행된다.
(3) conda config --show channels
- 현재 설정된 conda 채널 목록을 보여주는 명령어
- 채널은 conda가 패키지를 찾는 위치를 의미한다.
(4) conda config --add channels conda-forge && conda config --set channel_priority strict
- conda-forge 채널을 현재 설정된 채널 목록에 추가하고 채널 우선순위를 "strict"로 설정하는 명령어
(5) conda create -n coding_ansible python=3.12 -y
- 새로운 conda 환경을 생성하는 명령어, 여기서는 coding_ansible이라는 이름으로 환경을 생성하게 된다. 마지막 python=3.12y 옵션으로 새로운 환경에 Python을 설치하도록 명령한다.
(6) conda create -n coding_ansible_env python=3.12 -y
- 새로운 conda 환경을 생성한다. 환경 이름 : coding_ansible_env
(7) 환경 구성 및 설치가 진행된다.
(8) 해당 로그가 출력되면 정상적으로 구성이 완료된 상태다.
(9) conda info --envs
- 현재 시스템에 존재하는 conda 환경 목록을 출력한다.
(10) conda activate coding_ansible
- coding_ansible이라는 이름의 conda 환경을 활성화하는 명령어
3. VS Code Copilot Test
3-1. 코파일럿 플러그인 활성화 & 테스트
(1) 해당 경로에서 테스트 디렉터리 생성 진행
- 작업 경로 : Conda 환경이 구성된 C:\Users\test에서 생성
(1) VS Code 터미널 명령 프롬프트를 열고 conda activate coding_ansible 커맨드로 coding_ansible 환경을 활성화한다.
(2) 코파일럿 플러그인 & Github 연동이 완료되면 위와 같이 코파일럿이 코드 라인에서 활성화된다.
(3) 코드를 대상으로 질문을 하면 코파일럿이 틀린 사항이 있다면 교정해주고 코드 스타일에 대한 내용까지 답변해 준다.
(4) 코드의 각 라인에 대한 주석도 첨부해 준다.
3-2. 파이썬 인터프리터 환경 확인
(1) 파이썬 conda 기반 환경에 대해 인터프리터가 동작하는지 확인해 본다.
(2) python interpreter를 선택하면 위와 같이 나타난다.
(3) 위와 같이 임시로 작성한 소스 코드가 실행되는지 확인해 본다.
4. Rocky Linux 작업
4-1. dnf -y install epel-release, dnf -y install ansible
(1) dnf -y install epel-relaese
(2) dnf -y install ansible
(3) 설치 후 Ansible 버전을 확인한다.
5. Windows Server 2022 작업
5-1. OpenSSH Configuration
(1) 윈도우 서버 환경에서 OpenSSH Client 기능이 존재하는지 확인한다.
(2) OpenSSH 서버 기능을 추가해야 한다.
(3) Add an optional Feature에서 OpenSSH Server를 검색하고 설치한다.
(4) 설치가 진행된다. 네트워크 환경에 따라 시간이 다소 소요될 수 있다.
(5) 현재 Connection refused 메시지가 나타나는데 OpenSSH 서비스를 활성화해 주어야 한다.
(6) set-service가 아닌 start-service sshd 명령을 수행한다.
(7) start-service sshd로 활성화하고 ssh localhost를 다시 수행한다.
(8) SSH 접속이 확인되었으면 우선 exit 명령으로 연결을 종료한다.
6. IP 주소 대역 변경 & Rocky Linux에서 Windows Server SSH 접속 확인
(1) ywj-win10-ANS : 192.168.50.200
- 이전에 환경 구성 속도를 위해 VM-Network를 사용했으므로 이후부터는 개인 가상 스위치에 VM을 연결해야 한다.
(2) ywj-rocky-ANS : 192.168.50.201
(3) ywj-win2022 : 192.168.50.202
(4) 현재 루트 경로에서 ls -al을 해보면 숨김 디렉터리로 .ssh가 확인된다.
(5) ssh 명령으로 Windows 서버에 SSH 접속을 시도해 본다.
(6) 이를 통해서 리눅스에서 윈도우 서버 환경으로 접속을 진행해 봤다.
(7) .ssh 디렉터리에 known_hosts.old 파일이 확인되는데 해당 파일에 SSH 접속 정보가 들어있다.
7. Windows 10에서 Rockey Linux에 연결 작업
7-1. VS Code 실행 & 확장 플러그인에서 작업에 필요한 플러그인 추가 설치
(1) Remote development 플러그인을 설치한다.
(2) 플러그인 내부에 SSH 연결을 위한 라이브러리가 포함되어 있다.
(3) 원격 탐색기를 확인해 보면 Remotes(Tunnels/SSH) 메뉴를 확인할 수 있다.
(4) Rocky Linux의 루트 계정으로 시스템에 접속을 진행한다.
(5) SSH 구성 파일 선택 경로는 C:\Users\test\.ssh\config이다.
(6) 호스트를 추가한다.
(7) 호스트에 연결하기 위해 "계속"을 클릭한다.
(8) 루트 관리자의 암호를 입력한다.
(9) 루트 계정으로 연결이 거부된다면 Rocky Linux으로 접속해서 nano /etc/ssh/sshd_config 구성 정보 중 #PermitRootLogin prohibit-password 부분을 아래와 같이 수정한다
(10) PermitRootLogin yes
(11) 위와 같이 수정해서 외부에서도 루트 계정으로 접속이 가능하도록 설정을 열어주는 것
(12) nano 에디터에서 위의 변경사항을 저장하고 systemctl restart sshd 명령으로 sshd 서비스를 재시작한다. 이후 systemctl status sshd로 서비스가 Running 상태인지 체크한다.
(13) 만약 여기까지 진행했음에도 연결이 수립되지 않는다면 NAT 설정 등 주소 대역이 잘 설정되어 있는지, 방화벽은 해제했는지 다시 한 번 체크해본 후 진행한다.
(14) 위에서 언급한 부분을 수정했다.
(15) 현재 연결이 수립된 것을 확인할 수 있다.
(16) 폴더 열기를 누르면 루트 계정 기준으로 많은 디렉터리들이 확인된다.
(17) 루트 계정을 기준으로 새로운 작업 디렉터리를 만든다.
(18) 이후에는 ADMaster에서 설정했던 DNS, DHCP 설정 등을 Ansible로 자동화한다.
※ 해당 포스팅을 기준으로 내용 추가가 필요하다고 생각되면 기존 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!
댓글