본문 바로가기

리눅스

[draft] Vault SSH 플러그인을 설치하는 방법

728x90

Vault SSH 플러그인을 설치하는 방법

SSH 플러그인을 사용하면 Vault를 통해 SSH 키를 동적으로 관리하고 사용자 로그인 세션을 제어할 수 있습니다.

테스트 환경

$ lsb_release -d
Description:    Ubuntu 22.04.2 LTS

1. Vault SSH 플러그인 가져오기

Vault SSH 플러그인을 다운로드해야 합니다. GitHub 저장소에서 최신 릴리스를 확인하고 플러그인을 다운로드합니다.

<version>은 사용하려는 Vault SSH 플러그인 버전을 <platform>은 플러그인을 실행할 운영 체제 플랫폼을 나타냅니다.

예를 들어, Linux x86_64 플랫폼의 경우 linux_amd64를 사용합니다.

curl -LO https://github.com/hashicorp/vault-ssh-helper/releases/download/v<version>/vault-ssh-helper_<version>_<platform>_amd64.zip
curl -LO https://releases.hashicorp.com/vault-ssh-helper/0.2.1/vault-ssh-helper_0.2.1_linux_amd64.zip

2. 압축 해제

다운로드한 zip 파일을 압축 해제합니다.

apt-get update
apt-get install -y unzip
unzip vault-ssh-helper_<version>_<platform>_amd64.zip
unzip vault-ssh-helper_0.2.1_linux_amd64.zip
$ unzip vault-ssh-helper_0.2.1_linux_amd64.zip
Archive:  vault-ssh-helper_0.2.1_linux_amd64.zip
  inflating: vault-ssh-helper

3. 실행 파일 이동

압축 해제된 실행 파일을 Vault가 실행되는 서버의 적절한 위치로 이동시킵니다.

보통 /usr/local/bin 또는 /usr/bin과 같은 시스템 PATH에 있는 디렉토리로 이동시킵니다.

mv vault-ssh-helper /usr/local/bin/
$ vault-ssh-helper -v
vault-ssh-helper v0.2.1

4. Vault SSH 플러그인 구성

Vault SSH 플러그인을 구성해야 합니다. 보통 config.hcl 파일을 사용하여 구성합니다.

구성 파일에는 Vault 서버의 주소, 포트, 토큰 등이 포함됩니다. 구체적인 구성 방법은 Vault-SSH 플러그인의 문서를 참조하시기 바랍니다.

mkdir /etc/vault-ssh-helper.d/
sudo tee /etc/vault-ssh-helper.d/config.hcl <<EOF
vault_addr = "http://vault:8200"
tls_skip_verify = false
ssh_mount_point = "ssh"
allowed_roles = "*"
EOF

5. SSH 서버 구성 파일 편집

SSH 서버의 구성 파일을 편집하여 Vault SSH 플러그인을 사용하도록 설정합니다.

/etc/ssh/sshd_config 또는 /etc/sshd_config 파일을 편집합니다.

AuthorizedKeysCommand와 AuthorizedKeysCommandUser 설정을 추가합니다.

AuthorizedKeysCommand /path/to/vault-ssh-helper
AuthorizedKeysCommandUser <user>
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
echo "AuthorizedKeysCommand /usr/local/bin/vault-ssh-helper" | sudo tee -a /etc/ssh/sshd_config
echo "AuthorizedKeysCommandUser ubuntu" | sudo tee -a /etc/ssh/sshd_config

6. SSH 서버 재시작

SSH 서버를 재시작하여 구성 변경 사항을 적용합니다.

Vault-SSH 플러그인을 설치하고 SSH 서버와 통합하는 방법에 대해 설명했습니다. 이를 통해 SSH 인증을 Vault와 연동하여 중앙 집중식 보안 및 액세스 제어를 구현할 수 있습니다.

sudo systemctl restart ssh
vault-ssh-helper -verify-only -dev -config /etc/vault-ssh-helper.d/config.hcl
$ vault-ssh-helper -verify-only -dev -config /etc/vault-ssh-helper.d/config.hcl
2023/06/01 04:51:56 ==> WARNING: Dev mode is enabled!
2023/06/01 04:51:56 [INFO] using SSH mount point: ssh
2023/06/01 04:51:56 [INFO] using namespace: 
2023/06/01 04:51:56 [INFO] vault-ssh-helper verification successful!

 

참고URL

- vault-ssh-helper(releases.hashicorp.com) : https://releases.hashicorp.com/vault-ssh-helper/

 

728x90