728x90

Mac OS에서 AWS CLI 버전 2를 설치하는 방법에 관해 알아보겠습니다.
Mac은 Homebrew가 있어 매우 편리하게 설치할 수 있습니다.

설치하기

명령줄에서 다음 단계에 따라 Linux에 AWS CLI를 설치합니다.

# aws cli 설치
brew install awscli

# 설치 경로 확인
which aws

# 결과
/usr/local/bin/aws

# 버전확인
aws --version

# 결과
aws-cli/2.7.17 Python/3.10.5 Darwin/21.5.0 source/x86_64 prompt/off

aws 자격증명 설치하기

🗂 아래 링크에서 설치 방법을 참고하세요.

  1. aws 자격증명 하기
  2. aws 여러계정 사용하기
728x90
반응형
728x90

tree는 소스 구조를 트리 형태로 보여주는 명령어입니다.
Mac에서는 tree 명령어가 설치되어 있지 않습니다.
Homebrew를 이용해서 tree를 설치합니다.

1. tree 설치하기

brew install tree

2. 결과확인

tree명령어를 입력하여 결과를 확인합니다.

.
├── README.md
├── config.py
├── environment.yml
├── py
│   ├── __init__.py
│   ├── filter.py
│   ├── forms.py
│   ├── models.py
│   ├── static
│   │   ├── bootstrap.min.css
│   │   ├── bootstrap.min.js
│   │   ├── jquery-3.6.0.min.js
│   │   └── style.css
│   ├── templates
│   │   ├── answer
│   │   │   └── answer_form.html
│   │   ├── auth
│   │   │   ├── login.html
│   │   │   └── signup.html
│   │   ├── base.html
│   │   ├── form_errors.html
│   │   ├── navbar.html
│   │   └── question
│   │       ├── question_detail.html
│   │       ├── question_form.html
│   │       └── question_list.html
│   └── views
│       ├── answer_views.py
│       ├── auth_views.py
│       ├── main_views.py
│       └── question_views.py
└── py.db
728x90
반응형
728x90

| 해당 포스트는 맥북에서 설정하였습니다.

GitHub을 사용하다 보면 업무용계정과 개인용계정을 따로 사용해야 하는 경우가 발생할 수 있습니다.
두 개 이상의 계정을 활용해야 할때 설정하는 방법입니다.

1. 키체인 삭제

기존에 등록되어 있는 키체인 정보를 삭제합니다.
키체인 접근앱에서 gihub.com에 등록된 정보를 삭제합니다.

2. ssh-key 생성하기

개인계정과 업무계정에 사용할 ssh key를 생성합니다.
생성은 .ssh디렉토리에서 생성합니다. .ssh디렉토리가 없으면 디렉토리를 생성합니다.

# .ssh 디렉토리 이동
cd ~/.ssh

# ssh key 생성
ssh-keygen -t rsa -b 4096 -C "<github 계정 email주소>"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/collabo/.ssh/id_rsa): #생성할 파일명 입력
Enter passphrase (empty for no passphrase): # Enter
Enter same passphrase again: # Enter
  • 키 생성시 개인용과 업무용 구분을 위해 파일명을 구분합니다.
  • 개인용 key id_rsa_private, id_rsa_private.pub와 업무용 key id_rsa_work, id_rsa_work.pub의 생성결과를 확인 합니다.

3. ssh-key 등록

ssh-add --apple-use-keychain id_rsa_private
ssh-add --apple-use-keychain id_rsa_work

4. github에 공개키 등록

로컬에서 생성한 공개키를 복사하고 pbcopy < ~/.ssh/id_rsa_work.pub github에 등록합니다.

  • 우측 상단의 계정 이미지를 클릭하고 펼쳐진 서브 메뉴들에서 Settings를 선택한다.
  • Settings의 좌측 메뉴에서 SSH and GPG keys - New SSH Key 메뉴를 클릭하고 복사한 키를 붙여 넣습니다.
    • Title : 식별할 수 있는 이름
    • Key : id_rsa_work.pub복사한 key
  • 생성한 개인용, 업무용 계정 별로 등록하여 줍니다.

5. ssh config 설정

~/.ssh 디렉터리에 config 파일이 존재하는지를 확인하고 없다면 새로 생성합니다.
github.com에 대한 접속 정보를 아래와 같이 설정해 줍니다.

# private account
Host github.com-private
 HostName github.com
 User private                       # github 계정 이름
 IdentityFile ~/.ssh/id_rsa_private # 비밀키 파일

# work account
Host github.com-work
 HostName github.com
 User  work                      # github 계정 이름
 IdentityFile ~/.ssh/id_rsa_work # 비밀키 파일
  • Host : 저장소 구분 값

[SSH 등록 테스트]
등록한 키 값별로 ssh -T git@github.com-work입력하여 아래 문구가 출력되면 정상입니다.

You’ve successfully authenticated, but GitHub does not provide shell access.

※ 개인용도 동일하게 테스트 합니다.

6. Remote 저장소 설정

GitHub에서 SSH URL로 clone 받거나 이미 Remote가 지정된 경우 다음과 같이 변경할 수 있습니다.
SSH Config 구성 시 HostName을 github.com-<구분자>로 지정하였으므로 호출 시 동일하게 구성하여야 합니다.

  • 신규 저장소 clone
    git clone git@github.com-work:<저장소URL>.git
  • Remote 저장소 변경
    git remote set-url origin git@github.com-private:<저장소URL>.git

Reference

728x90
반응형

'GitHub' 카테고리의 다른 글

(GitHub) Pull Request 템플릿 만들기  (0) 2024.04.14
728x90

Window에 설치된 Python 가상환경을 Linux로 옮겨보겠습니다.

Anaconda 가상환경은 운영체제끼리는 같아야 yml 기반으로 가상환경 생성 과정에서 에러가 생기지 않습니다.

  • 일부 OS 플랫폼에서는 사용할 수 없는 패키지가 있습니다.
    • Linux에서만 사용할 수 있는 패키지와 Windows에서만 사용할 수 있는 패키지가 있어 빌드버전은 OS에 따라 다를 수 있습니다.

Conda does not check architecture or dependencies when installing from a spec file. To ensure that the packages work correctly, make sure that the file was created from a working environment, and use it on the same architecture, operating system, and platform, such as linux-64 or osx-64.

1. 가상환경 Export

빌드 버전의 OS종속성을 제거하기 위해 --no-build 옵션을 사용하여 가상환경을 추출합니다.

conda env export -n "가상환경이름" --no-build > envrionment.yml

2. 가상환경 생성

Linux 환경에서 Anaconda 가상환경을 생성합니다.

conda create -n "가상환경이름" python=3.9

3. 가상환경 업데이트

생성한 가상환경을 추출한 environment.yml로 업데이트 해줍니다.

conda env update -n "가상환경 이름" -f environment.yml

가상환경 업데이트를 하면 다음과 같이 찾을 수 없는 패키지가 확인 됩니다.

Output:

Solving environment: failed

ResolvePackageNotFound:
  - vs2015_runtime=14.27.29016
  - wincertstore=0.2
  - vc=14.2

해당 항목들을 anaconda 패키지 리스트에 확이하면, 다음과 같이 Window OS 종속된 항목으로 Linux에 지원되지 않는 패키지 임을 확인 할 수 있습니다.

window에만 설치 가능한 패키지를 삭제하고 다시 가상환경을 업데이트 합니다.

conda env update -n "가상환경 이름" -f environment.yml

Reference

  1. https://stackoverflow.com/questions/55895751/using-a-conda-env-created-on-windows-for-linux
  2. https://ahelpme.com/software/anaconda/conda-export-environment-and-conda-import-environment/
  3. https://techhelpnotes.com/python-conda-environment-from-windows-to-linux/
  4. https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
728x90
반응형
728x90

Bastion 구성은 Azure CLI를 활용하여 구성하였습니다.

Azure Bastion이란

Azure Bastion은 Public IP 주소를 통한 노출 없이 VM(가상 머신)에 대한 더 안전하고 원활한 RDP(원격 데스크톱 프로토콜) 및 SSH(Secure Shell) 프로토콜 액세스를 제공하는 완전 관리형 서비스입니다.

⚠ 보호된 VM과 Azure Bastion 호스트는 서브넷이 다르지만 동일한 가상 네트워크에 연결되어 있습니다.

1. 사용자는 Azure Portal에 접속하여 연결하려는 VM을 선택합니다.
2. Azure Portal에서 대상 VM을 호스트하는 가상 네트워크를 통해 Azure Bastion에 연결 합니다.
3. Azure Bastion이 대상 VM에 대한 연결을 시작합니다.
4. RDP 또는 SSH 세션이 관리자 콘솔의 브라우저에서 열립니다. Azure Bastion은 사용자 지정 패키지를 통해 세션 정보를 스트리밍합니다. 이러한 패키지는 TLS로 보호됩니다.
5. VPC Peering을 통해 중앙 집중식 허브 가상 네트워크에 구성된 Azure Bastion 호스트를 통해 추가 베스천 호스트를 배포하지 않고도 VM에 연결하는 데 사용할 수 있습니다.

Azure Bastion을 사용하면 RDP/SSH를 인터넷에 직접 공개하지 않아도 됩니다. 대신 Secure Sockets Layer(SSL)를 사용하여 안전하게 Azure Bastion에 연결하고 Private IP를 사용하여 VM에 연결할 수 있습니다.


1. 리소스 그룹 만들기

  • Subscription : Azure 구독 1
  • Resource group : myBastionRG
  • Region : Korea Central
az group create --name "myBastionRG" -l "Korea Central"

2. Azure KeyVault 생성하기

생성된 리소스 그룹 myBastionRG에 키 자격 증명 모음을 만듭니다.

az keyvault create --name "colla-credential-vault" --resource-group "myBastionRG"
❗ Vault name은 Globaly Unique 해야 하고, 이름은 문자로 시작하고 09, az, A~Z 및 -만 포함된 1-127자 길이의 문자열이어야 합니다.

3. ssh Key 생성하기

서버 접속에 사용할 ssh Key를 생성 합니다.
생성된 key는 ~/.ssh/ 경로 안에 public key, private key가 생성되게 됩니다.

ssh-keygen -t rsa

4. Key 등록하기

Azure KeyVault에 서버 접근에 필요한 private key를 등록 합니다.

az keyvault secret set --vault-name "colla-credential-vault" --name "privatekey" --file ~/.ssh/id_rsa

VM과 함께 사용할 Key Vault의 액세스 정책을 업데이트 합니다.

az keyvault update -n colla-credential-vault -g myBastionRG --set properties.enabledForDeployment=true

5. 가상 네트워크(VPC) 생성하기

가상 네트워크는 Azure에서 프라이빗 네트워크의 기본 구성 요소입니다. 이 네트워크를 사용하여 VM과 같은 Azure 리소스가 서로 인터넷을 통해 안전하게 통신할 수 있습니다.

가상 네트워크 환경과 VM연결을 위한 Subnet을 구성합니다.

az network vnet create --resource-group myBastionRG \
--name MyVnet \
--address-prefixes 10.1.0.0/16 \
--subnet-name MySubnet \
--subnet-prefixes 10.1.0.0/24

6. Bastion Host용 Subnet 추가하기

기존 가상 네트워크에서 AzureBastionSubnet이라는 서브넷을 추가합니다.

az network vnet subnet create \
  --resource-group myBastionRG \
  --vnet-name MyVnet \
  --name AzureBastionSubnet \
  --address-prefixes 10.1.1.0/24

Azure Bastion의 공용 IP 주소를 만듭니다.

az network public-ip create \
  --resource-group myBastionRG \
  --name MyBastionIp \
  --sku Standard

7. 가상 머신 만들기

인터넷에 노출되지 않는 Linux VM을 만듭니다. VM에 생성에 필요한 키는 기존에 만들어 둔 public key를 등록합니다.

az vm create \
  --resource-group myBastionRG \
  --name myVM1 \
  --image UbuntuLTS \
  --size Standard_D2as_v4 \
  --admin-username azureuser \
  --public-ip-address "" \
  --public-ip-sku Standard \
  --ssh-key-values ~/.ssh/id_rsa.pub

8. BastionHost 생성하기

Azure Bastion 리소스를 만듭니다.

az network bastion create \
  --name MyBastion \
  --public-ip-address MyBastionIp \
  --resource-group myBastionRG \
  --vnet-name MyVnet 

9. 내부 VM에 연결 하기

1. 사용자 이름 azureuser 를 입력합니다.
2. Azure Key Vault의 SSH 프라이빗 키를 선택합니다.
3.Azure Key Vault 자격증명과 할당된 키를 선택합니다.
4. 연결을 선택합니다.
5. 원격 셸에서 시스템을 업데이트하는 다음 명령과 같은 Linux 명령을 입력합니다.

sudo apt-get -y update

결과

Reference

1. https://docs.microsoft.com/ko-kr/azure/bastion/vnet-peering
2. https://docs.microsoft.com/ko-kr/azure/bastion/bastion-connect-vm-ssh-windows
3. https://docs.microsoft.com/ko-kr/learn/modules/connect-vm-with-azure-bastion/1-introduction
4. https://docs.microsoft.com/ko-kr/learn/modules/intro-to-azure-bastion/3-how-azure-bastion-works
5. https://docs.microsoft.com/ko-kr/azure/bastion/create-host-cli
6. https://docs.microsoft.com/ko-kr/azure/bastion/bastion-connect-vm-ssh-windows

728x90
반응형
728x90

AWS Account를 사용하다 보면 개인용, 회사계정 등 여러 계정들을 사용하게 됩니다. AWS CLI를 활용 시 aws configure --profile 을 활용하여 여러개의 Access Key ID 와 Secret Access Key를 생성하여 관리할 수 있습니다.

Profile 추가하기

# aws configure --profile {profile name}
aws configure --profile newprofile

# Result
AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]:
Default output format [None]:

해당 프로필 맞는 Access Key ID 와 _Secret Access Key_를 입력합니다.

설정확인

# 설정된 Config 정보
cat ~/.aws/config

# 설정된 credentials 정보
cat ~/.aws/credentials

테스트

해당 Account의 s3 버킷리스트를 가져옵니다.

aws s3 ls --profile "user1"

명명된 프로파일을 사용하려는 경우, 명령줄에서 AWS_PROFILE 환경 변수를 설정하면 모든 명령에서 매번 프로파일을 지정하는 것을 피할 수 있습니다.

# Linux 또는 macOS
export AWS_PROFILE=user1

# Windows
setx AWS_PROFILE user1

Reference

728x90
반응형
728x90

Window 환경의 CMD(명령 프롬프트)에서는 conda 명령어가 잘 동작하지만 powershell에서는 명령어가 동작하지 않는 문제가 있습니다.

아래와 같이 하면 PowerShell에서도 사용할 수 있습니다.

1. init powershell in Conda

# 1. ****init powershell in Conda****
conda init powershell

# 2. 현재 설정된 정책을 확인
Get-ExecutionPolicy

# Result
PS C:\WINDOWS\system32> Get-ExecutionPolicy
ByPass

2. 실행 정책 변경

아래 명령어로 정책을 변경합니다.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Get-ExecutionPolicy 으로 Unrestricted 결과가 나오면 정책이 변경이 완료됩니다.

3. Restart Powershell

기타

PowerShll에서 (base) 를 지우고 싶은 경우,

conda config --set auto_activate_base false

PowerShll에서 (base) 를 나타나게 하고 싶은 경우,

conda config --set auto_activate_base true
728x90
반응형
728x90

과학용으로 국한되어 사용되고 있던 python의 발전으로 웹개발까지 여러 방면으로 활용되고 있습니다.
python IDE Tool로 가장 많이 활용되고 있는 Tool 중 하나는 Pycharm 입니다.

1. Pycharm 다운로드

pycharm은 무료버전인 community버전과, 유료인 Professional 버전이 있습니다.

Professional 버전을 다운로드 받습니다. 🌴Pycharm 다운로드

2. Pycharm 설치

설치 마법사에 따라 설치를 진행합니다. Next 를 클릭합니다.

설치 파일 경로를 지정하고 Next 를 클릭합니다.

옵션 값들은 모두 선택하고 Next 를 클릭합니다.

윈도우 시작메뉴 등록하고 Install 을 진행합니다.

모든 설치가 끝나면 윈도우를 재시작 합니다.

3. 라이선스 인증

Pycharm을 실행하고, 구매한 라이선스 인증 코드를 넣으면 설치가 완료됩니다.

4. Pycharm 컴파일 설정(Interpreter)

Setting 메뉴에서 Python Interpreter를 선택합니다.

Anaconda로 설정한 가상환경을 Interpreter로 설정합니다.
생성된 가상환경은 설치된 Anaconda폴더의 envs 폴더에 있습니다.

[참고] Anaconda Python 가상 환경 생성 하기

설정이 완료되면 Interpreter화면 가상환경으로 생성한 패키지 목록을 확인할 수 있습니다.

728x90
반응형
728x90

Anaconda 가상환경 생성

1. Aaconda 최신 버전으로 업데이트

가상환경 생성전에 Anaconda를 먼저 최신 버전으로 업데이트 합니다.

conda update conda

2. 설치된 가상 환경 목록 출력

conda env list

# conda environments:
#
base                  *  C:\Anaconda3

*표시는 현재 활성화된 가상환경을 의미

3. 새로운 가상 환경 생성

python 3.8 버전의 새로운 가상 환경을 생성합니다.

conda create --name [가상환경이름] python=3.8

conda create --name mypython python=3.8

4. 설치된 가상 환경 활성화 하기

conda activate [가상환경이름]

# To activate this environment, use
#
#     $ conda activate mypython

conda env list로 생성된 가상환경 리스트를 확인하고 *표시가 되어 있는 환경이 활성화된 가성환경입니다.

[참고] 가상환경 비활성화 하기

# To deactivate an active environment, use
#
#     $ conda deactivate
728x90
반응형

+ Recent posts