Ich habe einen VPS, auf den ich in der Vergangenheit über Terminal zugegriffen habe. Wenn ich Terminal öffne, erhalte ich
Letzte Anmeldung: Dienstag, 29. August, 04:02:48 Uhr auf ttys002 Mac-mini:~ administator$
In allen Artikeln, die ich googeln konnte, heißt es:
Dies gibt die Meldung „Berechtigung verweigert“ zurück, wenn ich das Passwort eingebe (ich bin 100 % sicher, dass Passwort und Benutzername korrekt sind). Ich weiß, dass der Grund dafür darin liegt, dass Terminal den Mac nicht erreicht. In der Vergangenheit habe ich einen Befehl gefunden, der eingegeben werden muss, bevor man „ssh“ eingeben kann.[email geschützt]". Es ist, als müsste ich einen Befehl eingeben, um den lokalen Host des Macs zu verlassen und dann die SSH-Serverinformationen eingeben.
Meine Frage ist, ob jemand den Befehl kennt. Ich habe Google durchsucht und kann die Informationen, die ich vorher gefunden habe, nicht finden. Außerdem wurde meine mit Lesezeichen versehene Seite entfernt.
Danke schön!!
Antwort1
Vorausgesetzt, der VPS wird auf AWS gehostet, wäre der fehlende Befehl, von dem Sie sprechen, der Pfad zur Zugriffsdatei (.PEM). Beispiel:
ssh -i path/to/AccessKey.pem [email protected]
Detaillierte Infos hier:https://99robots.com/how-to-ssh-to-ec2-instance-on-aws/
Antwort2
Wenn Sie SSH vom Mac-Terminal aus verwenden, möchten Sie eine Verbindung zu einem Remote-Server herstellen, auf dem SSHD (SSH-Daemon) ausgeführt wird.
Damit dies geschieht, sollten einige Dinge in Ordnung sein:
- Sie sollten in einem Netzwerk sein (Sie haben eine IP-Adresse und einen Router, DNS ist hilfreich)
- Der Remote-Server sollte sich in einem Netzwerk befinden
- Diese Netzwerke sollten so miteinander verbunden sein, dass Datenverkehr möglich ist.
netstat -nr
Die Routing-Tabelle wird unter OSX, Linux und Windows angezeigt (sofern Netstat zugelassen ist)traceroute
undping
könnte hilfreich sein, im Internet sind diese jedoch normalerweise blockiert. - Wenn Sie in einem Unternehmen arbeiten, ist SSH möglicherweise nicht zulässig.
- der Remote-Server lässt dies möglicherweise nicht zu
- Ein dazwischenliegendes Netzwerk lässt dies möglicherweise nicht zu.
Wenn alles oben genannte in Ordnung ist, können Sie telnet server 22
davon ausgehen, dass es auf dem Standardport läuft und dass Sierra das neueste OSX ist. Dadurch wird die TCP-Konnektivität angezeigt.
Jetzt kommt ssh. Beide Seiten sollten sich über alle möglichen Details einig sein.
- Die Kennwortauthentifizierung ist wahrscheinlich ausgeschaltet oder das Kennwort ist auf einem Verzeichnisserver gespeichert.
- Sie sollten sich nicht als Root-Benutzer anmelden
- Es sollte ein alternativer Authentifizierungsmechanismus verwendet werden. Ein Schlüsselpaar ist sehr gebräuchlich, aber Token, Zertifikate, Einmalkennwörter und Kerberos sind möglich. Wir wissen es nicht, aber Ihr Hosting-Partner wird es wissen. Schlüsselpaare werden standardmäßig verwendet. AWS und GCE haben ihre eigenen Methoden, für die es jeweils Anleitungsseiten gibt.
- Ihnen sollte der Zugriff auf SSH und seine Dateien auf Ihrem Mac gestattet sein und diese Dateien sollten über restriktive Dateiberechtigungen verfügen.
- Sie sollten in der Lage sein, die IP-Adresse zu ~/.ssh/known_hosts hinzuzufügen
- wenn sich SSH-Schlüssel auf Ihrem Mac im (versteckten) Verzeichnis .ssh in Ihrem Home-Verzeichnis befinden. Verwenden Sie dies,
ssh-keygen
um ein Paar zu erstellen und die Pub-Datei an den Administrator zu senden. - Wenn Sie der lokale Administrator sind, sollten Sie die Pub-Datei zur Datei authorized_keys für den Linux-Benutzer hinzufügen, der angemeldet sein muss. Eine Konsolensitzung ist erforderlich, wenn niemand SSH verwenden kann. Der Dateispeicherort wird in der Datei sshd_config angegeben, normalerweise $HOME/.ssh/authorized_keys.
Es gibt noch kompliziertere Fälle, wie inkompatible Chiffren und nicht übereinstimmende Versionen, aber wenn beide Enden auf dem neuesten Stand sind, sollte Ihnen das oben genannte dabei helfen, das Problem zu finden. Wenn nicht, brauchen Sie Hilfe von innen, d. h. Root auf Ihrem SSHD-Server kann das tail -f /var/log/secure
.