SSH - wirtualna maszyna problem

Te, które nie mieszczą się w powyższych kategoriach, a mają coś wspólnego ze Slackware.

Moderatorzy: Moderatorzy, Administratorzy

newslack
Użytkownik
Posty: 3
Rejestracja: 2019-05-05, 08:39

SSH - wirtualna maszyna problem

Post autor: newslack » 2019-05-05, 08:49

Postawiłem sobie slackware 14.2 na wirtualnej maszynie, karte sieciową ustawiłem jako "mostkowana karta sieciowa[bridged]", skonfigurowałem ustawienia sieci za pomocą połączenia netconfig, jest internet. Maszyna wirtualna ma adres ip 192.168.1.20, a maszyna lokalna 192.168.1.15, mogę pingować maszynę 192.168.1.20(wirtualną) z komputera lokalnego. Jednak od dłuższego czasu próbuję ustawić, abym mógł się połączyć z maszyną wirtualną za pomocą protokołu ssh.

Po wpisaniu:

Kod: Zaznacz cały

/etc/rc.d/rc.sshd start
wyskakują błędy:

Kod: Zaznacz cały

key_load_public: invalid format
Could not load host key: /etc/ssh/ssh_host_rsa_key
key_load_public: invalid format
Could not load host key: /etc/ssh/ssh_host_dsa_key
key_load_public: invalid format
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
key_load_public: invalid format
Could not load host key: /etc/ssh/ssh_host_ed25519_key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available -- exiting.
Mógłby ktoś udzielić wskazówek?
Próbówalem generowania tych kluczy, przy użyciu polecenia:
ssh-keygen -t rsa
$HOME/.ssh/id_rsa– contains your private key.
$HOME/.ssh/id_rsa.pub – contain your public key.

i modyfikowałem /etc/ssh/sshd_config aby wskazywał na id_rsa, ale chyba czegoś tu nie rozumiem. Mógłby ktoś wytłumaczyć?
W skrocie: efekt jaki chce osiągnąć to mieć możliwośc połączenia się z komputera lokalnego (windows 10) przez putty po protokole ssh z maszyną wirtualna. Dopiero rozpoczynam swoją przygodę z slackware.

Edit:
Zrobiłem tak, że zmodyfikowałem sshd_config ustawiłem tam:

Kod: Zaznacz cały

Port 22
Protocol 2
HostKey /root/.ssh/id_rsa.pub
ale po wpisaniu

Kod: Zaznacz cały

/etc/rc.d/rc.sshd start
wyskakuje:

Kod: Zaznacz cały

Could not load host key: /root/.ssh/id_rsa.pub
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available -- exiting.
Mógłby mi ktoś wyjaśnić co robie zle? Bo ewidentnie cos nie tak rozumiem, a nie potrafie samodzielnie dojśc jaki błąd popełniam :P

Edit2:
Ok, skasowałem .pub i działa

Kod: Zaznacz cały

Port 22
Protocol 2
HostKey /root/.ssh/id_rsa
Teraz pytanie, klucz prywatny jest na komputerze lokalnym, a publiczny na serwerze? Już zgłupiałem
Cały czas myślałem, że prywatny klucz czyli id_rsa trzymam na komputerze lokalnym, a id_rsa.pub na serwerze, ale teraz jak w HostKey wskazałem na id_rsa i zadziałało to już zgłupiałem jak to działa. Wytłumaczy mi to ktoś? I o co chodzi z tym authorized_keys? Nie miałem tego pliku więc utworzyłem poleceniem: cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys, tylko w jaki celu to się robi? Skąd SSH wie ze w pliku authorized_keys jest ten klucz publiczny? Skoro na serwerze jako HostKey wskazałem klucz prywatny, do authorized_keys dodałem klucz publiczny, a klucz publiczny mam mieć na swoim lokalnym komputerze, to ja już nie rozumiem.
Zatem dlaczego HostKey musi wskazywać na klucz prywatny? A w authorized_keys ma być klucz publiczny? A na lokalnym kompie mam mieć id_rsa.pub czy id_rsa?

Inna opcja na przyszłość - gdybym się zdecyował w celach testowych uniknąć i nie zabezpieczać swojego serwera kluczami, tylko zwykłym logowaniem i hasłem to jak zmodyfikować sshd_config, aby można było uruchomić SSH?

Według:
https://www.ssh.com/ssh/host-key

Kod: Zaznacz cały

Host keys are key pairs, typically using the RSA, DSA, or ECDSA algorithms. Public host keys are stored on and/or distributed to SSH clients, and private keys are stored on SSH servers.
A tutaj już odwrotnie:
https://www.cyberciti.biz/faq/how-to-se ... inux-unix/

Kod: Zaznacz cały

    server1.cyberciti.biz – You store your public key on the remote hosts and you have an accounts on this Linux/Unix based server.
    client1.cyberciti.biz – Your private key stays on the desktop/laptop/ computer (or local server) you use to connect to server1.cyberciti.biz server. Do not share or give your private file to anyone.

Awatar użytkownika
webster
Użytkownik
Posty: 1265
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: SSH - wirtualna maszyna problem

Post autor: webster » 2019-05-10, 14:24

Kod: Zaznacz cały

rm /etc/ssh/ssh_host*
/usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
/usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
/usr/bin/ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
/usr/bin/ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
/usr/bin/ssh-keygen -A
/etc/rc.d/rc.sshd restart
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook

newslack
Użytkownik
Posty: 3
Rejestracja: 2019-05-05, 08:39

Re: SSH - wirtualna maszyna problem

Post autor: newslack » 2019-05-13, 19:00

W dalszym ciągu nie potrafię zrozumieć do czego jest ten HostKey w sshd_config. Co on takiego daje? Wiem, że bez niego nie mogłem uruchomić ssh na Slackware, ale na co wskazuje ten HostKey? bo wiem, że na plik: "/etc/ssh/ssh_host_rsa_key". Tylko czemu ten plik ma służyć?
Tak w skrócie mógłbyś mi to zobrazować albo podać na prostym przykładzie w jakim celu jest ten HostKey w sshd_config i co by było gdyby go nie było (z tego co wiem to bym nie uruchomił ssh, ale po za tym co on daje?), ewentualnie gdzie poczytać jakieś wyjaśnienia o tym? Czytałem troche w necie, ale dalej nie jest to dla mnie jasne, myślałem, że wskazuje on na klucz prywatny. Chętnie bym poszerzył swoją wiedze w tym temacie

Awatar użytkownika
Lizard
Moderator
Posty: 2567
Rejestracja: 2005-05-21, 15:48
Lokalizacja: miasto w mieście

Re: SSH - wirtualna maszyna problem

Post autor: Lizard » 2019-05-14, 21:48

Kod: Zaznacz cały

# file /etc/ssh/ssh_host_rsa_key*
/etc/ssh/ssh_host_rsa_key:     OpenSSH private key
/etc/ssh/ssh_host_rsa_key.pub: OpenSSH RSA public key
Powyższe pliki, jak i im podobne, to klucze odpowiednio: prywatny i publiczny. Ogólnie służą do ustalenia symetrycznego klucza szyfrowania transmisji oraz potwierdzania, że łączysz się z właściwym serwerem.
Error 404 - footer not found

ODPOWIEDZ