반응형

간단한(?) Ping 테스트.

- inventory 파일 정보
[workers]
worker1 ansible_host=192.168.0.12 ansible_user=root
worker2 ansible_host=192.168.0.14 ansible_user=root

- ping을 쏴보자. (-m 옵션은 module 이라는 의미)
ansible workers -m ping
당연히 될줄 알았으나 Error 발생

worker1 | FAILED! => {
    "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"
}
worker2 | FAILED! => {
    "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"
}

sshpass 프로그램이 없다고 하길래 sshpass 프로그램을 설치했다.
apt install sshpass.

그리고 다시 시도!. 그리고 다시 Error

worker1 | FAILED! => {
    "changed": false, 
    "module_stderr": "Shared connection to 192.168.0.12 closed.\r\n", 
    "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", 
    "msg": "MODULE FAILURE", 
    "rc": 127
}

python 이 없다고 나옴. 생각해보니 master 에 ansible 만 설치했지 다른 노드에는 아무것도 안한 상태였다. 그래서 각각의 노드에 python 을 설치했다. (apt install python)

그리고 나서 다시 했더니 다음과 같은 Error 가 나온다.

worker1 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: root@192.168.0.12: Permission denied (publickey,password).\r\n", 
    "unreachable": true
}
worker2 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: root@192.168.0.14: Permission denied (publickey,password).\r\n", 
    "unreachable": true
}

흠... 패스워드 문제인것 같아서 옵션을 줘보고 실행을 해봤다.

ansible all -m ping -k

-k : 이 옵션은 실행시에 password 를 물어보도록 하는 옵션이다.
이렇게 실행을 했더니 정상적으로 실행이 되었다. 

root@myserver-001:~# ansible all -m ping -k
SSH password: 
worker1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
worker2 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

 

728x90
반응형

'Development > Ansible' 카테고리의 다른 글

Ansible Inventory 파일  (0) 2021.11.12
반응형

GCP VM Instance 화면에서 ssh 버튼을 통하지 않고 Cloud Shell 에서 직접 SSH 를 접근 할 경우 쓰는 방법이다.

 

gcloud compute ssh --project [PROJECT_ID] --zone [ZONE] [INSTANCE_NAME]

 

cloud Shell 에 접근한후 다음과 같이 하면 된다.

 

먼저 instance list 를 조회한다.

 

gcloud compute instances list
NAME                          ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
myinstance       us-central1-a  n1-standard-1                          10.128.0.2   146.148.43.62  RUNNING

 

그리고 위에 명령어처럼 아래와 같이 접근을 하면 된다.

gcloud compute ssh --zone us-central1-a myinstance

 

간단하네~

 

참고 사이트

https://cloud.google.com/compute/docs/instances/connecting-to-instance

728x90
반응형
반응형

현재 우분투 리눅스가 설치되어있는 넷북은 작업 환경이 정말 열악하다.

집에서 쓰는 거라서 보조 모니터가 있는것도 아니고 조그만한 화면을 들여다 보고 있으면 정말 목이 아프다. 

그래서 굳이 넷북에서 직접 작업할 필요가 있을까라는 생각을 했다. 

데스크탑도 있고 맥북도 있는데 굳이 그 조그만한 화면을 들여다 볼 필요가 있을까라는 생각을 했다. 

원격 접속해서 사용해도 큰 무리가 없을것 같은데.


그래서 책을 찾아보니 OpenSSH 서버라는 것이 있었다. 


telnet 과는 거의 동일 하지만 데이터 전송 시 암호화를 한다는 차이점을 가지고 있다. 


apt-get install openssh-server


이렇게 간단하게 명령어 한번만 치면 설치가 순식간에 진행된다. 



참고로 내가 사용한 -y 옵션은 패키지 설치시 설치여부 확인을 자동으로 진행해주는 옵션이다. 



systemctl restart ssh : 서비스를 재기동한다.

systemctl enable ssh : 서비스를 항상 기동하도록 설정한다.

systemctl status ssh : 서비스 상태를 확인한다. 


그리고 나서 여기 캡쳐 상에는 없지만 ufw allow 22/tcp 로 방화벽에서 SSH 포트인 22번 포트를 허용하도록 한다.



이 화면은 맥북에서 접속한 화면이다. 

ssh 사용자이름@IP 로 접속을 하면 된다. 위에는 이름과 IP 가 나와서 블러 처리를 했다. 

이렇게 함으로써 이제부터는 굳이 작은 넷북 화면 안쳐다보고 맥북에서 작업을 할 수 있게 되었다. 

필요한 것을 찾아가면서 이것 저것 적용해보는 재미가 쏠쏠한것 같다. 그러면서 아는것도 생기니 일석이조다. 


728x90
반응형

'Development > Linux' 카테고리의 다른 글

dpkg lock 에러  (0) 2020.09.17
netstat 사용 중인 포트 찾기  (0) 2020.07.30
우분투 리눅스 설치 삽질기!  (3) 2017.04.17
Command Line 명령어  (0) 2016.01.14
sed 명령어  (0) 2016.01.12

+ Recent posts