Da Sie wirklich nichts sagen, gehe ich davon aus, dass Sie eine relativ saubere Ubuntu-Installation in dieser VM haben.
Wenn Sie sagen, dass Sie die "öffentliche" IP-Adresse der VM verwenden, wird das Wasser leicht verwischt, da dies einige verschiedene Dinge bedeuten kann.
Eines ist jedoch erwähnenswert: Ihr ursprünglicher Fehler ("Netzwerkfehler: Verbindung abgelehnt", wenn Sie versuchen, eine Verbindung zu Port 22 herzustellen) sagt Ihnen, dass Sie das in der VM ausgeführte System erreichen konnten, und dass das System nichts hört auf der jeweiligen IP-Adresse und Port-Kombination, unter der Sie die IP-Adresse erreicht haben.
Ich bin mir ziemlich sicher, dass die Ubuntu-Workstation-Installationen standardmäßig keinen SSH-Server enthalten. Die Server-Varianten könnten dies jedoch sehr wohl tun.
Melden Sie sich über die VM-Konsole an und prüfen Sie, ob ein SSH-Server ausgeführt wird. Ich habe momentan kein Ubuntu-System zur Hand, aber in einem Terminal sollte dies ähnlich sein
$ service sshd status
Es könnte als etwas bezeichnet werden wie ssh
, ssh-server
, openssh-server
oder etwas in diese Richtung statt sshd
, aber Tabulatorvervollständigung auf ssh
(Typ ssh
tab) sollte erhalten Sie schließen. Sie können brauchen sudo
dies, so zB sudo service sshd status
, aber ich denke, regelmäßige Benutzer Zugang ausreichend sein sollte, einen Service - Status (Laufen / gestoppt) Bericht.
Wenn kein SSH-Server ausgeführt wird oder sogar installiert ist, wird der Grund dafür angezeigt, dass Sie die Fehlermeldung "Verbindung abgelehnt" erhalten haben. Installieren Sie einen SSH-Server wie folgt:
$ sudo apt-get -u install openssh-server
Stellen Sie sicher, dass die Liste der zu installierenden Pakete einwandfrei ist, und bestätigen Sie. Der SSH-Server wird am Ende des Installationsvorgangs gestartet.
Schauen Sie sich nun die Datei / etc / ssh / sshd_config an. Es wird keine oder mehrere Anweisungen Port
und ListenAddress
Anweisungen enthalten, die IP-Adressen oder Portnummern angeben (die Portnummer ist standardmäßig 22, wenn nicht angegeben, und der Server überwacht alle IP-Adressen, wenn Sie es nicht ausdrücklich anders angeben). Dies ist die IP-Adresse und der Port, zu dem Sie eine Verbindung herstellen müssen.
Wenn keine IP-Adresse (n) angegeben ist, ip addr show
werden die Netzwerkschnittstellen in der VM und ihre jeweiligen IP-Adressen angezeigt. Dies sind die, auf die der SSH-Server wartet.
Bewegen Sie sich mit diesen Informationen, um alle erforderlichen Zauberbeschwörungen auszuführen, damit PuTTY eine Verbindung zu dieser Kombination aus IP-Adresse und Port herstellen kann. (Dies kann z. B. das Lochen eines Lochs oder das Konfigurieren der Portweiterleitung in einem NAT oder einer Firewall umfassen.)
Sobald dies geschehen ist, sollten Sie in der Lage sein, sich mit PuTTY zu verbinden und eine Terminalsitzung als unprivilegierter Benutzer auf der Ubuntu-VM zu erhalten. Von dort aus können Sie sudo
Ihre Privilegien nach Bedarf erhöhen, so als würden Sie vor einem physischen System sitzen.
Ich empfehle die Einrichtung Authentifizierung über öffentliche Schlüssel, und ich empfehle sehr viel gegen so dass root direkt einloggen. Wenn Sie jedoch unbedingt root direkt anmelden müssen, bearbeiten Sie / etc / ssh / sshd_config und geben Sie an PermitRootLogin yes
, sudo passwd root
geben Sie root ein gutes Kennwort an und starten Sie den SSH-Daemon neu. Wieder empfehle ich das nicht.
Mit diesem aus dem Weg, was war das Problem mit dem Anschluss an den Ports 80 und 443? Port 80 ist der Standardport für HTTP und Port 443 ist der Standardport für HTTPS. Wenn ein Webserver ausgeführt wird, ist es wahrscheinlich, dass er beide Ports überwacht. Wenn Sie eine Verbindung herstellen, werden HTTP-Anforderungen erwartet. im Fall von Port 443 nach SSL-Aushandlung. Es ist sicherlich möglich, HTTP-Anforderungen manuell auszugeben, es handelt sich jedoch nicht um eine Terminalsitzungssitzung und eine Shell. Im Allgemeinen ist es unwahrscheinlich, dass die Verbindung zu beliebigen Ports (selbst bekannten Ports) das gewünschte Ergebnis liefert.