Was ist ssh - Secure Shell
Secure Shell ist ein sicheres Kommunikationsprotokoll, das für die Fernverwaltung (wie ein Webserver) über ein Terminal verwendet werden kann.
Technisch gesehen ist es eine sichere Version von Telnet. Ein Shell-Zugriff auf einem beliebigen System ermöglicht es einem Benutzer, Befehle auszuführen und das System zu steuern.
Wenn Sie an Linux-Servern online von der Befehlszeile aus gearbeitet haben, haben Sie es wahrscheinlich verwendet.
Die Kommunikation wird mit SSL-Verschlüsselung verpackt und Secure Shell genannt.
Ssh (Secure Shell) is a program for logging into a remote machine and for executing commands on a remote machine. It provides secure encrypted communications between two untrusted hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. It can be used to provide applications with a secure communication channel.
Für die sichere Shell benötigen wir 2 Komponenten. Der erste ist der Secure Shell-Server, der auf der Maschine läuft, die ferngesteuert werden soll. Und der andere Teil ist ein SSH-Client, der das SSH-Protokoll sprechen und mit dem SSH-Server kommunizieren kann.
In diesem Beitrag werden wir sehen, wie man den SSH-Server und -Client auf Ubuntu einrichtet und eine sichere Kommunikation durchführt.
OpenSSH-Server installieren
Installieren Sie auf Ubuntu das Paket openssh-server. Es stellt den sshd-Server bereit. Dieselbe Methode sollte auch auf Debian und anderen Debian-basierten Distributionen funktionieren.
$ sudo apt-get install openssh-server
This is the portable version of OpenSSH, a free implementation of the Secure Shell protocol as specified by the IETF secsh working group.
Nach der Installation sollte der SSH-Server betriebsbereit sein. Überprüfen Sie dies mit dem Dienstbefehl
$ service ssh status ssh start/running, process 29422
Verbindung zum SSH-Server vom Client herstellen
Verbinden Sie sich nun mit dem ssh-Befehl mit dem ssh-Server. Der ssh-Befehl ist der "openssh-Client". Die Syntax von ssh ist so
ssh [email protected] OR ssh -l username hostname
Verbinden Sie sich mit unserem SSH-Server.
$ ssh [email protected] The authenticity of host 'localhost (127.0.0.1)' can't be established. ECDSA key fingerprint is f2:81:02:29:0b:84:69:d4:71:35:e0:2f:d7:3b:cd:3e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. [email protected]'s password:
Nach der Anmeldung wird eine Willkommensnachricht ähnlich dieser angezeigt
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic x86_64) * Documentation: https://help.ubuntu.com/ New release '13.04' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** Last login: Thu May 30 20:58:33 2013 from localhost $
SSH-Server konfigurieren
Der SSH-Server arbeitet standardmäßig auf Port 22. Wenn Sie den Standardport des SSH-Servers ändern möchten, bearbeiten Sie die Datei
/etc/ssh/sshd_config
Es hat eine Zeile zur Angabe der Portnummer.
# What ports, IPs and protocols we listen for Port 22
Nachdem Sie die Portnummer geändert haben, starten Sie den SSH-Server mit dem Dienstbefehl
neu$ sudo service ssh restart ssh stop/waiting ssh start/running, process 30751
Um mehr über die Konfiguration des SSH-Servers mit der Konfigurationsdatei zu erfahren, lesen Sie die Manpage, indem Sie den folgenden Befehl ausführen
man sshd_config
Putty-SSH-Client - Windows-Benutzer
Unter Ubuntu ist der Befehl terminal ssh der einfachste Weg, um eine Verbindung zu einem beliebigen ssh-Server herzustellen. Wenn Sie jedoch nach einer Alternative suchen, versuchen Sie es mit Putty.
Putty ist ein kostenloser SSH/Telnet-Client, der sowohl für Linux als auch für Windows verfügbar ist. Unter Ubuntu installieren Sie es von synaptic
sudo apt-get install putty
SSH-Server sichern
Wenn Sie den SSH-Server auf einem Remote- und Online-Server installieren, ist es wichtig, den Server zu sichern. Hier sind einige Sicherheitsmaßnahmen, die Sie implementieren können, um die Sicherheit des SSH-Servers zu erhöhen.
1. Verwenden Sie sichere Benutzernamen und Passwörter
2. Idle Timeout Interval konfigurieren
3. Leere Passwörter deaktivieren
4. Gewähren Sie nur bestimmten Benutzern ssh-Zugriff
5. Root-Logins deaktivieren
6. Verwenden Sie nur das ssh-Protokoll 2
7. Anderen Port verwenden
8. Clients mit Firewall einschränken
9. Schlüsselbasierte Authentifizierung verwenden
Passwortlose Anmeldung am SSH-Server
Das SSH-Server-Setup fragt standardmäßig nach dem Benutzernamen/Passwort, um sich anzumelden. Es ist jedoch möglich, eine passwortlose Anmeldung mit schlüsselbasierter Authentifizierung einzurichten.
Weitere Informationen finden Sie in meinem Tutorial zum Einrichten einer passwortlosen Anmeldung bei ssh.
Links und Ressourcen
Weitere Informationen finden Sie unter den folgenden Links:
http://www.openssh.org/Wenn Sie Feedback oder Fragen haben, teilen Sie uns dies in den Kommentaren unten mit.