Ssh: Unterschied zwischen den Versionen
imported>Meikschwalm |
imported>Meikschwalm |
||
Zeile 36: | Zeile 36: | ||
*Es kann jedoch sinnvoll sein, PermitRootLogin auf no zu setzen. Dann kann sich niemand direkt als root einloggen, sondern man meldet sich unter seinem Benutzernamen an und ruft dann su oder sudo -s auf. | *Es kann jedoch sinnvoll sein, PermitRootLogin auf no zu setzen. Dann kann sich niemand direkt als root einloggen, sondern man meldet sich unter seinem Benutzernamen an und ruft dann su oder sudo -s auf. | ||
*Mit den Direktiven AllowUsers und AllowGroups bzw. DenyUsers und DenyGroups lässt sich noch genauer festlegen, welche Benutzer sich anmelden dürfen und welche nicht. Dies empfiehlt sich besonders bei Servern. AllowGroups admin verbietet bspw. allen Benutzern, die keine Mitglieder der Gruppe admin sind, den Zugriff. | |||
*Wer sich ausschließlich über das noch sicherere Public-Key-Verfahren anmelden will, der sollte die Benutzung von Passwörtern mit PasswordAuthentication no abschalten. | |||
*Falls lange Wartezeiten bei der Anmeldung am SSH-Server auftreten, könnte das an einer fehlgeschlagenen Namensauflösung liegen. Da man SSH normalerweise sowieso über die IP benutzt, können diese DNS-Anfragen in der sshd_config deaktiviert werden. Der dafür nötige Eintrag wäre UseDNS no. | |||
*Nach erfolgter Änderung der Datei sshd_config muss der Server mit dem Befehl: | |||
sudo reload ssh | |||
==Secure Copy== | ==Secure Copy== |
Version vom 12. März 2019, 12:45 Uhr
Wozu dient SSH:
- Authentifizierung der Gegenstelle, kein Ansprechen falscher Ziele
- Verschlüsselung der Datenübertragung, kein Mithören durch Unbefugte
- Datenintegrität, keine Manipulation der übertragenen Daten
Authentifizierung über Public-Keys
- Damit man dieses Verfahren überhaupt verwenden kann, muss man sich zunächst mit Hilfe des Kommandozeilenprogramms ssh-keygen ein entsprechendes Schlüsselpaar erzeugen:
ssh-keygen -t rsa -b 4096
- Der voreingestellte Dateiname (id_rsa) kann einfach mit der Taste ⏎ bestätigt werden, außer man möchte sich ein weiteres Schlüsselpaar erzeugen. Von der Benutzung einer leeren Passphrase ist jedoch abzuraten, weil sonst jeder, der evtl. in den Besitz dieser Datei kommt, sofortigen Zugriff auf alle zugehörigen Systeme erhält.
- Nun muss noch der öffentliche Schlüssel, zu erkennen an der Endung .pub (id_rsa.pub), auf dem Zielsystem deponiert werden. Dazu dient das Programm ssh-copy-id. Zu diesem Zeitpunkt muss die Authentifizierung per Passwort noch erlaubt sein (PasswordAuthentication yes):
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
- Anschließend kann man sich ohne Passwort anmelden:
ssh user@server
- Für den Fall, dass der Nutzername vom lokalen und entfernten Rechner gleich ist, genügt die Eingabe "ssh server"
Benutzeroberflächen
Wem es zu mühsam ist, auf der Kommandozeile die SSH-Verbindung zu einem Server aufzubauen, der sucht vielleicht ein grafisches Programm, um Verbindungsdaten zu verwalten.
- PuTTY - gibt es sowohl für Linux als auch für Windows. Das Programm ist in den offiziellen Paketquellen enthalten.
- PAC Manager - (Perl Auto Connector) nicht in den offiziellen Paketquellen enthalten, aber über SourceForge wird ein Fremdpaket angeboten, das manuell installiert werden kann.
- Gnome-RDP - mit diesem Programm kann man nicht nur RDP- und VNC-Verbindungen aufbauen, sondern auch SSH-Terminalsitzungen. Leider kann man in der aktuellen Version die Zugangspasswörter nicht speichern lassen und keine Angaben zum verwendeten Port machen. Es funktioniert somit nur mit Servern, die den Standard-SSH-Port 22 nutzen. In den offiziellen Paketquellen enthalten, benötigt aber Mono als Voraussetzung.
konfiguration des SSH-Servers (sshd)
- Die Konfiguration des SSH-Servers sshd findet über die Datei /etc/ssh/sshd_config statt. Die Voreinstellungen sind aber durchweg akzeptabel.
- Es kann jedoch sinnvoll sein, PermitRootLogin auf no zu setzen. Dann kann sich niemand direkt als root einloggen, sondern man meldet sich unter seinem Benutzernamen an und ruft dann su oder sudo -s auf.
- Mit den Direktiven AllowUsers und AllowGroups bzw. DenyUsers und DenyGroups lässt sich noch genauer festlegen, welche Benutzer sich anmelden dürfen und welche nicht. Dies empfiehlt sich besonders bei Servern. AllowGroups admin verbietet bspw. allen Benutzern, die keine Mitglieder der Gruppe admin sind, den Zugriff.
- Wer sich ausschließlich über das noch sicherere Public-Key-Verfahren anmelden will, der sollte die Benutzung von Passwörtern mit PasswordAuthentication no abschalten.
- Falls lange Wartezeiten bei der Anmeldung am SSH-Server auftreten, könnte das an einer fehlgeschlagenen Namensauflösung liegen. Da man SSH normalerweise sowieso über die IP benutzt, können diese DNS-Anfragen in der sshd_config deaktiviert werden. Der dafür nötige Eintrag wäre UseDNS no.
- Nach erfolgter Änderung der Datei sshd_config muss der Server mit dem Befehl:
sudo reload ssh
Secure Copy
- Secure Copy
- (abgekürzt SCP) ist ein Protokoll sowie ein Programm zur verschlüsselten Übertragung von Daten zwischen zwei Computern über ein Rechnernetz.
- Protokoll
- Das Protokoll selbst implementiert nur die Dateiübertragung, für die Anmeldung und Verbindung wird SSH genutzt und auf dem entfernten Rechner ein SCP-Server aufgerufen; dieser ist normalerweise gleichzeitig auch das Client-Programm. Für das darunterliegende SSH wird ein SSH-Server benötigt.
SSH File Transfer Protocol
- Das SSH File Transfer Protocol oder Secure File Transfer Protocol (SFTP) ist eine für die Secure Shell (SSH) entworfene Alternative zum File Transfer Protocol (FTP), die Verschlüsselung ermöglicht.
Quelle: https://de.wikipedia.org/