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/
'리눅스' 카테고리의 다른 글
[draft] Hashicorp Vault를 사용하여 SSH CA를 구성하고 SSH 서버와 SSH 클라이언트를 연동하는 방법 (0) | 2023.06.01 |
---|---|
[draft] 리눅스 플랫폼, 아키텍처, 시스템의 비트를 확인하는 방법 (0) | 2023.06.01 |
[리눅스] httpie 명령어 (0) | 2023.05.31 |
[draft] SSH 접속 오류를 해결하는 방법 (0) | 2023.05.31 |
[리눅스] ssh "no hostkey alg" 오류 (0) | 2023.05.31 |