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)을 활성화했는지 확인합니다.
- 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