Połączenie SSH między maszynami wirtualnymi

0

Witam, mam problem z wykonaniem zadania z ansible.

Dokładnie na Virtualbox mam 3 maszyny wirtualne (Lubuntu - host1 i host2, Ubuntu - serwer).
Moim zadaniem jest wykonanie polecenia ansible all -m ping. Jednak pojawia mi się problem z ssh a dokładnie:

ubuntu@ubuntu-2204:/etc/ansible$ ansible all -m ping -i /etc/ansible/hosts.ini
192.168.10.101 | UNREACHABLE! => {
  "changed": false,

  "msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.10.101 port 22: Connection refused",

  "unreachable": true
}
192.168.10.102 | UNREACHABLE! => {

    "changed": false,

    "msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.10.102 port 22: Connection refused",

    "unreachable": true
  

Plik hosts.ini:

[all:vars]
ansible_user=root
[host1]
192.168.10.101
[host2]
192.168.10.102

Jestem zielony w tym temacie, próbowałem już różnych zmian w pliku inwentarzowym hosts.ini jak i w ansible.cfg jednak nie przyniosło to zmian.
Dodam jeszcze, że zwykłe pingi przechodzą normalnie pomiędzy wszystkimi maszynami.
Za odpowiedź z góry dziękuję.

2

Zamiast się bawić ansimblami jakimiś, zacznijmy od podstaw - czy w "normalny" sposób hosty się widzą?

Czy możesz je zwyczajnie pingować z konsoli?

W jaki tryb masz ustawione karty sieciowe na wirtualkach (poniżej obrazek poglądowy odnośnie tego, o co pytam)

screenshot-20230127144604.png

0

Tak jak pisałem w treści zwykłe pingi przechodzą normalnie pomiędzy wszystkimi maszynami.
Udało mi się zrobić już jakiś postęp, jednak teraz kombinuję z kluczami ponieważ wyświetla mi się błąd:

192.168.10.102 | UNREACHABLE! => {

    "changed": false,

    "msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,password).",

    "unreachable": true

}

192.168.10.101 | UNREACHABLE! => {

    "changed": false,

    "msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,password).",

    "unreachable": true

}


0

nie używałem nigdy tego narzędzia ale pierwszy wynik z google sugeruje użyć dodatkowego parametru "--ask-pass"
albo skonfigurować połączenie za pomocą klucza prywatnego

0

Zanim skorzystasz z ansible, po prostu spróbuj się połączyć zwykłym klientem ssh. Musisz sprawdzić jakie metody autentykacji dopuszcza serwer ssh na maszynie docelowej (jest w ogóle uruchomiony?) - czy klucz publiczny/prywatny czy może użytkownik/hasło. Skonfigurowałeś to w ogóle? Klucze ssh wygenerowane?

Pierwszy link z google opisuje wstępną konfigurację ssh i ansible.

0
robertos7778 napisał(a):

Zanim skorzystasz z ansible, po prostu spróbuj się połączyć zwykłym klientem ssh. Musisz sprawdzić jakie metody autentykacji dopuszcza serwer ssh na maszynie docelowej (jest w ogóle uruchomiony?) - czy klucz publiczny/prywatny czy może użytkownik/hasło. Skonfigurowałeś to w ogóle? Klucze ssh wygenerowane?

Pierwszy link z google opisuje wstępną konfigurację ssh i ansible.

Serwery ssh są uruchomione na każdej maszynie, klucze wygenerowane tylko mam problem z umiejscownieniem ich ponieważ wygenerowałem klucz na maszynie która ma zainstalowanego ansible i czytałem żeby skopiować ten kod poleceniem ssh-copy-id nazwa_hosta@adres, tylko prosi o hasło. Jeżeli chodzi o zwykłe hasło systemowe to go nie ma a po kliknięciu samego entera wyświetla się Permission denied

1

Żeby skopiować coś na inny serwer rzecz jasna potrzebujesz się na niego dostać. Ale jeśli zdalny serwer nie akceptuje haseł, a tylko klucze to tego nie zrobisz, bo przecież nie ma tam twojego klucza publicznego.
Klucz to kawałek tekstu, możesz to wkleić w stosowny plik jak się zalogujesz na tenże serwer bezpośrednio.

Ja zwykle robiłem tak:

  1. Generowałem klucz na maszynie A ("lokalnej"), nie podając hasła do klucza - jako użytkownik Y
  2. Logowałem się root-em na docelową maszynę B ("zdalną") z użyciem hasła czy klucza. Potem su - na użytkownika X, na którego chciałem się logować zdalnie.
  3. Wklejałem klucz publiczny z A do pliku authorized_keys na maszynie B, w katalogu ~/.ssh użytkownika X

Wtedy sprawdzałem logowanie z użyciem klucza z maszyny A na B. Przy pierwszej próbie akceptujesz komunikat z fingerprintem maszyny B.
No i użytkownik Y na maszynie A ma teraz dostęp do konta X na maszynie B.

Konfiguracja kluczy

0

Autor napisał że ma trzy maszyny wirtualne , wiec zakładamy że umie/potrafi się do nich zalogować i skopiować tam jeden plik z kluczem publicznym :)
Zalecam przeczytanie w google:
jak skonfigurować połączenie SSH bez hasła

1 użytkowników online, w tym zalogowanych: 0, gości: 1