Salt SSH가 연결 세부 정보를 저장하고 에이전트 없는 시스템에 연결하는 방법을 알아보겠습니다.

로스터 파일

기본적으로 Salt는 YAML 파일을 사용하여 에이전트 없는 시스템(목록)에 대한 연결 상세 내역을 저장합니다. 기본 목록 파일에는 ID, 호스트 및 사용자가 포함됩니다.

ID:
  host: [IP or DNS name] 
  user: [username]

목록 파일의 기본 위치는 /etc/salt/roster입니다. 다른 곳에 저장하려는 경우 --roster-file=  인수(아래 참조)를 사용하여 다른 경로를 지정할 수 있습니다.

로스터에는 많은 추가 옵션이 있습니다. 자세한 내용은 로스터 작동 방식을 참조하십시오.

명령 기본 사항

salt-ssh 명령은 에이전트 없는 시스템에 연결하는 데 사용됩니다. 이 명령은 salt 명령과 매우 유사합니다.

salt-ssh [target] [command] [arguments]

주된 차이점은 대상에 지정된 시스템은 목록 파일에 정의되어야 하며 대상은 glob 또는 regex을 통해서만 일치될 수 있다는 점입니다.

초기 연결

시스템에 처음 연결하면 Salt SSH가 키 지문이 포함된 메시지를 반환합니다. 이 키 지문을 검사한 다음 -i 옵션을 사용하여 연결하여 키를 수락할 수 있습니다.

salt-ssh -i '*' test.ping
Permission denied for host managed, do you want to deploy the salt-ssh key? (password required):
[Y/n] y
Password for vagrant@managed:
managed:
    True

Salt SSH가 인증에 사용할 로컬 SSH RSA 키를 생성했습니다. 키를 처음 배포하려면 사용자 암호가 필요하며, 이후 연결은 사용자 암호를 제공하지 않고 작동합니다.

salt-ssh '*' disk.usage 
managed:
    ----------
    /:
        ----------
        1K-blocks:
            41251136
        available:
            38318832
        capacity:
            4%
        filesystem:
            /dev/sda1
        used:
            1196392
    /dev:
        ----------
        1K-blocks:
            245916
        available:
            245904
        capacity:
            1%
        filesystem:
            udev
        used:
            12
...

튜토리얼 – 목록 파일 작성 및 연결

목록 파일을 추가하고 테스트 명령을 실행하겠습니다. 이전에 생성한 Salt SSH 디렉토리(~/salt-ssh)에 있고 가상 환경(source venv/bin/activate)을 활성화했는지 확인합니다.

  1. salt-ssh/roster 텍스트 파일을 생성하고 에이전트 없는 각 시스템에 대한 연결 상세 내역을 저장합니다.
managed:
  host: 192.168.70.11
  user: vagrant

이 형식을 사용하여 이 파일에 원하는 수의 시스템을 추가할 수 있습니다. 위의 예는 이전 섹션의 vagrant 데모 시스템을 기반으로 하지만 사용자 환경의 값을 쉽게 대체할 수 있습니다.

2. salt-ssh/Saltfile 텍스트 파일을 생성하고 연결 옵션을 추가합니다.

salt-ssh:
  roster_file: /home/vagrant/salt-ssh/roster # replace 'vagrant' with your username if needed
  config_dir: /home/vagrant/salt-ssh
  log_file: /home/vagrant/salt-ssh/log.txt  

Salt 파일을 사용하면 명령을 실행할 때마다 포함할 명령줄 옵션을 지정할 수 있습니다.

3. 다음 명령을 실행하여 연결을 테스트합니다.

salt-ssh -i '*' test.ping

모든 작업이 잘 진행되면 각 시스템에서 응답을 받게 됩니다.

출처 : https://docs.saltproject.io/en/getstarted/ssh/connect.html
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

You May Also Like

SaltStack 이해 – 스테이트

스테이트 시스템 이 튜토리얼에서는 스테이트 시스템의 작동 방식을 설명합니다. 자습서는 구성 관리를 참조하십시오. 솔트 스테이트 시스템은 원격 실행…

SaltStack 이해 – 플러그인

솔트 플러그-인 솔트 접근법에 대한 어떤 논의도 플러그인에 대한 논의 없이는 불완전할 것이다. 플러그인과 솔트의 플러그형 아키텍처를 이해하는…

Agentless Salt – Salt SSH 설치

솔트는 솔트 SSH라는 유틸리티를 사용하여 에이전트 없는 시스템에 연결합니다. 이 유틸리티는 관리 서버, 개발 워크스테이션 또는 랩톱에 설치할…

Agentless Salt – 원격 실행

시스템이 목록에 추가되면 즉시 셸 명령을 실행하고 패키지를 업데이트하고 모든 대상 시스템에 파일을 배포할 준비가 됩니다. 또한 모든…