Ich bin neu im MacBook und leite El Capitan.
Ich migriere meine Computernutzung von einem PC auf ein MacBook. Ich bin langjähriger Benutzer von PuTTY und SuperPuTTY auf einem PC.
Ich möchte Anmeldeinformationen auf meinen Webservern im MacBook Terminal erstellen und speichern, so wie ich es in SuperPuTTY auf dem PC getan habe.
Ist es möglich, Anmeldeinformationen für den Webserver in Mac Terminal zu speichern?
Hier ist mein Gesamtziel:
Ich möchte wissen, ob es in Mac Terminal eine einfache Möglichkeit gibt, die folgenden Anmeldeinformationen für die Befehlszeile zu speichern und dann eine Art Shortcode zu verwenden, um über Terminal eine Verbindung zu meinem Webserver herzustellen:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Ich verwalte und verbinde mich mit 5 verschiedenen Webservern, so dass das Sortieren und Organisieren der Anmeldeinformationen in einer kurzen / schnellen Verbindungsmethode eine enorme Zeitersparnis wäre. Vor allem, weil meine Passwörter kryptische 64-Zeichen-Zeichenfolgen sind.
Antworten:
Sie können Ihren öffentlichen Schlüssel auf die Remote-Computer kopieren. Solange die Authentifizierung mit öffentlichem Schlüssel aktiviert ist und Ihr öffentlicher Schlüssel auf dem Remotecomputer vorhanden ist, können Sie
ssh
auf die Computer zugreifen, ohne ein Kennwort eingeben zu müssen.Zuerst müssen Sie ein öffentliches / privates Schlüsselpaar wie folgt erstellen:
Folgen Sie den Anweisungen. Wenn Sie gefragt werden, ob Sie den Schlüssel mit einer Passphrase schützen möchten, sagen Sie JA! Es ist eine schlechte Praxis, Ihre Schlüssel nicht mit einem Passwort zu schützen, und ich zeige Ihnen, wie Sie das Passwort nur gelegentlich eingeben müssen.
Wenn Sie bereits ein Schlüsselpaar haben, können Sie den obigen Schritt überspringen.
Angenommen, Ihr ssh-Schlüssel existiert auf Ihrem Mac als
~/.ssh/id_rsa.pub
, können Sie ihn auf einem Remote-Computer installieren , indem Sie Folgendes ausführen :Für Ihr spezielles oben genanntes Serverbeispiel sieht der Befehl folgendermaßen aus:
Sie müssen das Kennwort für eingeben
[email protected]
, um diese Kopie auszuführen. Dies sollte jedoch das letzte Mal sein, dass Sie dies tun müssen. Angenommen, der Remote-Serversshd
ist für die Authentifizierung mit öffentlich-privaten Schlüsseln eingerichtet. Wenn Sie jetzt zur Box sshen, sollten Sie nicht nach einem Kennwort für dasroot
Konto gefragt werden, sondern nach dem Kennwort für Ihren Schlüssel . Lesen Sie weiter, wie Sie dies zu etwas machen, das Sie nicht die ganze Zeit eingeben müssen.Wiederholen Sie den Vorgang für jeden Computer, auf den Sie statt eines Kennworts mit Ihren Schlüsseln zugreifen möchten.
Bitte beachten Sie, dass jeder , der Ihre
~/.ssh/id_rsa
Datei in den Händen hält, auf dieses System zugreifen kann,root
ohne ein Kennwort für das Remote-System einzugeben. Durch das Kennwort zum Schutz der Schlüsseldatei wird sichergestellt, dass das Kennwort bekannt sein muss, damit dieser Schlüssel verwendet werden kann. Stellen Sie sicher, dass die Datei sicher ist. Verwenden Sie die Festplattenverschlüsselung auf Ihrem Mac und behalten Sie die Berechtigungen für die Datei und das~/.ssh/
Verzeichnis bei.Um die Verwendung des Schlüssels zu vereinfachen, ohne jedes Mal das Kennwort eingeben zu müssen, führt OS X einen
ssh-agent
Prozess im Hintergrund auf Ihrem Computer aus. Dieser Agent speichert das Schlüsselpaar bei der ersten Verwendung im Cache, sodass Sie nur gelegentlich Ihr Kennwort eingeben müssen. Wenn Sie Ihren Mac nur in den Ruhezustand versetzen, ihn niemals neu starten, können Sie längere Zeit ohne Eingabe Ihres Kennworts arbeiten.Sie können alle Ihre SSH-Schlüssel mit vorab zwischenspeichern,
ssh-agent
indem Sie Folgendes ausführen :Jetzt müssen Sie sich nur noch das Schlüsselkennwort merken , nicht mehr die vielen verschiedenen Kontokennwörter. Normalerweise behalte ich meine Schlüsselkennwörter in 1Password (keine Zugehörigkeit), um die Anzahl der Kennwörter, die ich mir merken muss, weiter zu vereinfachen. Dann schaue ich sie einfach in 1Password nach und füge sie in das Terminal ein, wenn ich meinen Mac neu starte und meine Ausführung
ssh-agent
neu starte.Wenn Sie in dieser Frage das Kopieren Ihres Schlüssels auf Remotecomputer mit der Terminal.app-Verbindungsverwaltungslösung kombinieren , haben Sie eine ähnliche Erfahrung wie PuTTY für GUI-Verbindungen.
Überprüfen Sie auf der Serverseite Folgendes
/etc/ssh/sshd_config
und stellen Sie sicher:ist in der Konfiguration aktiviert (standardmäßig in OpenSSH). Möglicherweise möchten Sie auch Folgendes festlegen:
Während Sie dort sind, ist die kennwortbasierte Authentifizierung deaktiviert und Schlüssel sind die einzige Möglichkeit, auf das Gerät zuzugreifen.
Sie müssen sshd auf dem Computer neu starten, wenn Sie Änderungen an der Konfigurationsdatei vornehmen.
quelle
PasswordAuthentication yes
auf der Serverseite lassen und PuTTY funktioniert weiterhin so wie immer auf Ihrem Windows-Computer. Dies ist kein Entweder-Oder-Szenario. Sie können beide Authentifizierungstypen auf dem Server zulassen. PuTTY unterstützt auch die Autorisierung von öffentlichen / privaten Schlüsseln wie dieses FWIW. Sie können Ihre~/.ssh/id_rsa*
Dateien auf Ihren Windows-Computer kopieren und zur Authentifizierung auf dem Server in PuTTY importieren. PuTTY verwendet unter der Haube genau die gleichen OpenSSH-Bibliotheken für die Verbindung wiessh
unter OS X.ssh-add
funktioniert auch noch in Sierra (OS X 10.12). DankeSie können sshpass verwenden, um das Kennwort zu speichern, und müssen es nicht jedes Mal eingeben, was keine gute Vorgehensweise ist (Sicherheitsprobleme).
Folgen Sie den Anweisungen für die Installation von Mac OS X unter: https://gist.github.com/arunoda/7790979
Wenn du sshpass installiert hast laufe
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no [email protected]:2200
Tun Sie dasselbe für Ihre 5 Webserver und Sie müssen das Passwort nicht jedes Mal eingeben.
quelle
ssh -p 2200 [email protected]
undPassword: **********************
?ssh-copy-id
ist nicht Teil der Standard-OS X-Distribution.Zusätzlich zu den öffentlichen / privaten Schlüsseln kann die .ssh / config-Datei so konfiguriert werden, dass die Verwendung von ssh-Befehlen wie Aliasnamen, Standardbenutzer / -port pro Server, ssh-Optionen, Proxy-Befehle usw. vereinfacht wird.
Grundsätzlich kann alles, was Sie mit einem ssh-Befehl komplizieren können, auch in dieser Datei enthalten sein.
quelle
Ich habe Putty als natives Anwendungspaket auf den Mac portiert, daher werden keine Macports oder Terminals benötigt, wenn Sie kein technischer Benutzer sind.
Weitere Informationen mit Screenshots finden Sie hier: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
Prost,
quelle