[draft] HashiCorp Vault SSH Helper 설치 및 연동하는 방법
HashiCorp Vault SSH Helper 설치 및 연동하는 방법
Vault SSH Helper를 사용하면 Vault를 통해 SSH 키를 동적으로 관리하고 사용자 SSH 로그인 세션을 중앙에서 제어할 수 있다.
Vault SSH Helper(vault-ssh-helper) 를 Linux 서버에 설치하고 OpenSSH와 연동하는 방법입니다.
테스트 환경
운영체제 정보
$ lsb_release -d
Description: Ubuntu 22.04.2 LTS
1. Vault SSH Helper 설치
Vault SSH Helper는 GitHub 릴리스 또는 HashiCorp 공식 릴리스 페이지에서 받을 수 있다.
Vault SSH Helper 다운로드
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
압축 해제 및 설치
- unzip 설치
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
실행 파일 이동
- Vault SSH Helper를 보통 /usr/local/bin 또는 /usr/bin과 같은 시스템 PATH에 있는 디렉토리로 이동시킵니다.
mv vault-ssh-helper /usr/local/bin/
버전 확인
$ vault-ssh-helper -v
vault-ssh-helper v0.2.1
2. Vault SSH Helper 구성
Vault SSH 플러그인을 구성해야 합니다. 보통 config.hcl 파일을 사용하여 구성합니다.
구성 파일에는 Vault 서버의 주소, 포트, 토큰 등이 포함됩니다. 구체적인 구성 방법은 Vault-SSH 플러그인의 문서를 참조하시기 바랍니다.
sudo mkdir -p /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
3. SSH 서버 설정 연동
SSH 서버의 구성 파일을 편집하여 Vault SSH 플러그인을 사용하도록 설정합니다.
/etc/ssh/sshd_config 또는 /etc/sshd_config 파일을 편집합니다.
AuthorizedKeysCommand와 AuthorizedKeysCommandUser 설정을 추가합니다.
AuthorizedKeysCommand /path/to/vault-ssh-helper
AuthorizedKeysCommandUser <user>
sshd_config 백업
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
sshd_config 수정
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
4. SSH 서버 재시작
SSH 서버를 재시작하여 구성 변경 사항을 적용합니다.
Vault-SSH 플러그인을 설치하고 SSH 서버와 통합하는 방법에 대해 설명했습니다. 이를 통해 SSH 인증을 Vault와 연동하여 중앙 집중식 보안 및 액세스 제어를 구현할 수 있습니다.
sudo systemctl restart ssh
5. Vault SSH Helper 동작 검증
실제 SSH 접속 전에 Vault 연동 상태를 반드시 검증한다.
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/