Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
centos:ssh-install [12.11.2016 19:16. ] – [openSSH - Programmsuite] django | centos:ssh-install [12.10.2024 12:46. ] (aktuell) – Deppenapostroph entfernt django |
---|
====== Secure Shell - ssh ====== | ====== Secure Shell - ssh ====== |
{{:centos:openssh.png?200 |openSSH Logo}}Bei Internetdiensten wie [[centos:mailserver:start|eMail]] oder [[centos:webserver:start|Web]] haben sich verschlüsselte Datenübertragungen mit SSL/TLS ohne Eingriffe in das Originalprotokoll durchgesetzt. Bei den klassischen unverschlüsselten Unix-Diensten zum Arbeiten mit entfernten Rechnern oder zur Datenübertragung auf andere Rechner - z.B. **telnet**, **rcp** und **rsh** - erfolgt eine alternative Lösiung mittels [[http://www.openssh.org|OpenSSH]]. | {{:centos:openssh.png?200 |openSSH Logo}}Bei Internetdiensten wie [[centos:mailserver:start|eMail]] oder [[centos:webserver:start|Web]] haben sich verschlüsselte Datenübertragungen mit SSL/TLS ohne Eingriffe in das Originalprotokoll durchgesetzt. Bei den klassischen unverschlüsselten Unix-Diensten zum Arbeiten mit entfernten Rechnern oder zur Datenübertragung auf andere Rechner - z.B. **telnet**, **rcp** und **rsh** - erfolgt eine alternative Lösiung mittels [[http://www.openssh.org|OpenSSH]]. |
| |
===== Dokumentation ===== | |
Wichtige Hinweise zur Absicherung von **ssh** finden sich im [[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Securing_Services.html#sec-Securing_SSH|Kapitel 4.3.11. Securing SSH]] aus dem [[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/index.html|Red Hat Enterprise Linux Security Guide]]. | |
| |
===== openSSH - Programmsuite ===== | ===== openSSH - Programmsuite ===== |
Die für die **//Secure-Shell//** benötigten Pakete werden i.d.R. bereits bei der Erstinstallation erfolgreich ins System eingebettet. Bei Centos teilen sich die Programme der //Programmsuite// auf folgende Pakete auf: | Die für die **//Secure-Shell//** benötigten Pakete werden i.d.R. bereits bei der Erstinstallation erfolgreich ins System eingebettet. Bei Centos teilen sich die Programme der //Programmsuite// auf folgende Pakete auf: |
* openssh : Die OpenSSH-Implementierung der SSH Protokoll-Versionen 1 (und 2) | * openssh.i386 : Die OpenSSH-Implementierung der SSH Protokoll-Versionen 1 und 2 |
* openssh-clients : Die OpenSSH-Client-Anwendungen | * openssh-clients.i386 : Die OpenSSH-Client-Anwendungen |
* openssh-server : Der OpenSSH-Server Daemon | * openssh-server.i386 : Der OpenSSH-Server Daemon |
* openssh-askpass : Passphrase-Dialog für OpenSSH und X | * openssh-askpass.i386 : Passphrase-Dialog für OpenSSH und X |
==== openssh ==== | ==== openssh ==== |
Mittels ''rpm -qil'' können wir überprüfen, welche Programme, Konfigurationsdateien und Dokumentationen beim Paket **openssh** installiert wurden. | Mittels **__rpm -iql__** können wir überprüfen, welche Programme, Konfigurationsdateien und Dokumentationen installiert wurden. |
| <code># rpm -iql openssh |
| Name : openssh Relocations: (not relocatable) |
| Version : 4.3p2 Vendor: CentOS |
| ... |
| |
# rpm -qil openssh | ... |
<code>Name : openssh | Signature : DSA/SHA1, Mo 09 Mär 2009 02:48:50 CET, Key ID a8a447dce8562897 |
Version : 6.6.1p1 | Packager : Karanbir Singh <kbsingh@karan.org> |
Release : 25.el7_2 | |
Architecture: x86_64 | |
Install Date: Wed 23 Mar 2016 07:14:52 PM CET | |
Group : Applications/Internet | |
Size : 1450050 | |
License : BSD | |
Signature : RSA/SHA256, Mon 21 Mar 2016 11:22:48 PM CET, Key ID 24c6a8a7f4a80eb5 | |
Source RPM : openssh-6.6.1p1-25.el7_2.src.rpm | |
Build Date : Mon 21 Mar 2016 11:18:48 PM CET | |
Build Host : worker1.bsys.centos.org | |
Relocations : (not relocatable) | |
Packager : CentOS BuildSystem <http://bugs.centos.org> | |
Vendor : CentOS | |
URL : http://www.openssh.com/portable.html | URL : http://www.openssh.com/portable.html |
Summary : An open source implementation of SSH protocol versions 1 and 2 | Summary : Die OpenSSH-Implementierung der SSH Protokoll-Versionen 1 und 2 |
Description : | Description : |
SSH (Secure SHell) is a program for logging into and executing | SSH (Secure SHell) is a program for logging into and executing |
| |
OpenSSH is OpenBSD's version of the last free version of SSH, bringing | OpenSSH is OpenBSD's version of the last free version of SSH, bringing |
it up to date in terms of security and features. | it up to date in terms of security and features, as well as removing |
| all patented algorithms to separate libraries. |
| |
This package includes the core files necessary for both the OpenSSH | This package includes the core files necessary for both the OpenSSH |
/usr/bin/ssh-keygen | /usr/bin/ssh-keygen |
/usr/libexec/openssh | /usr/libexec/openssh |
/usr/libexec/openssh/ctr-cavstest | |
/usr/libexec/openssh/ssh-keysign | /usr/libexec/openssh/ssh-keysign |
/usr/share/doc/openssh-6.6.1p1 | /usr/share/doc/openssh-4.3p2 |
/usr/share/doc/openssh-6.6.1p1/CREDITS | /usr/share/doc/openssh-4.3p2/CREDITS |
/usr/share/doc/openssh-6.6.1p1/ChangeLog | /usr/share/doc/openssh-4.3p2/ChangeLog |
/usr/share/doc/openssh-6.6.1p1/INSTALL | /usr/share/doc/openssh-4.3p2/INSTALL |
/usr/share/doc/openssh-6.6.1p1/OVERVIEW | /usr/share/doc/openssh-4.3p2/LICENCE |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL | /usr/share/doc/openssh-4.3p2/OVERVIEW |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.agent | /usr/share/doc/openssh-4.3p2/README |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.certkeys | /usr/share/doc/openssh-4.3p2/README.dns |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.chacha20poly1305 | /usr/share/doc/openssh-4.3p2/README.nss |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.key | /usr/share/doc/openssh-4.3p2/README.platform |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.krl | /usr/share/doc/openssh-4.3p2/README.privsep |
/usr/share/doc/openssh-6.6.1p1/PROTOCOL.mux | /usr/share/doc/openssh-4.3p2/README.smartcard |
/usr/share/doc/openssh-6.6.1p1/README | /usr/share/doc/openssh-4.3p2/README.tun |
/usr/share/doc/openssh-6.6.1p1/README.dns | /usr/share/doc/openssh-4.3p2/RFC.nroff |
/usr/share/doc/openssh-6.6.1p1/README.platform | /usr/share/doc/openssh-4.3p2/TODO |
/usr/share/doc/openssh-6.6.1p1/README.privsep | /usr/share/doc/openssh-4.3p2/WARNING.RNG |
/usr/share/doc/openssh-6.6.1p1/README.tun | |
/usr/share/doc/openssh-6.6.1p1/TODO | |
/usr/share/licenses/openssh-6.6.1p1 | |
/usr/share/licenses/openssh-6.6.1p1/LICENCE | |
/usr/share/man/man1/ssh-keygen.1.gz | /usr/share/man/man1/ssh-keygen.1.gz |
/usr/share/man/man8/ssh-keysign.8.gz</code> | /usr/share/man/man8/ssh-keysign.8.gz</code> |
| |
| |
==== openssh-clients ==== | ==== openssh-clients ==== |
Beim Paket **openssh-clients** wird mitgeliefert: | Beim Paket **openssh-clients** wird mitgeliefert: |
The key fingerprint is: | The key fingerprint is: |
2b:83:69:f2:76:e8:c9:8b:cf:34:c8:c2:ae:2b:e1:ee django@host.nausch.org</code> | 2b:83:69:f2:76:e8:c9:8b:cf:34:c8:c2:ae:2b:e1:ee django@host.nausch.org</code> |
| |
$ ssh-keygen -t ed25519 -o -a 100 -C django@nausch.org -f ~/.ssh/id_ed25519_dmz | |
| |
| |
| |
Die //passphrase// die man hier angibt, wird später beim Anmelden auf dem entfernten Rechner abgefragt, oder vom //ssh-agent// bei der Anmeldung mitübergeben. | Die //passphrase// die man hier angibt, wird später beim Anmelden auf dem entfernten Rechner abgefragt, oder vom //ssh-agent// bei der Anmeldung mitübergeben. |
</WRAP> | </WRAP> |
==== authorized_keys vs. authorized_keys2 ==== | ==== authorized_keys vs. authorized_keys2 ==== |
<WRAP round tip>Bei der Einführung von SSH Version 2 kam die Datei ''authorized_keys2'' zum Einsatz. Seit OpenSSH 3.0 wird nun wiederum neben der ''authorized_keys2'' wieder die ''authorized_keys'' verwendet. In unserem Fall nutzen wir in unserem obigen Beispiel daher nur noch die Schlüsseldatei ''authorized_keys''.</WRAP> | <WRAP round info>Bei der Einführung von SSH Version 2 kam die Datei ''authorized_keys2'' zum Einsatz. Seit OpenSSH 3.0 wird nun wiederum neben der ''authorized_keys2'' wieder die ''authorized_keys'' verwendet. In unserem Fall nutzen wir in unserem obigen Beispiel daher nur noch die Schlüsseldatei ''authorized_keys''.</WRAP> |
| |
===== ssh-Daemon ===== | ===== ssh-Daemon ===== |
Von der Admin-Workstation aus, wollen wir nun nicht nur zum nächstgelegenen Host springen, sondern auch zum übernächsten oder gar zu einem Host im Internet, den wir aber aus Sicherheitsgründen nicht direkt erreichen dürfen und auch können. | Von der Admin-Workstation aus, wollen wir nun nicht nur zum nächstgelegenen Host springen, sondern auch zum übernächsten oder gar zu einem Host im Internet, den wir aber aus Sicherheitsgründen nicht direkt erreichen dürfen und auch können. |
==== System-Skizze ==== | ==== System-Skizze ==== |
<uml width=775 title="Grafische System-Übersicht"> | <uml> |
| |
state Firewall_A { | state Firewall_A { |
Host daxie | Host daxie |
Hostname <was-das-auch-immer-für-ein geiler-FQDN-sein-mag> | Hostname <was-das-auch-immer-für-ein geiler-FQDN-sein-mag> |
ProxyCommand ssh -l root -i ~/.ssh/id_rsa_daxie -2 -4 fwa nc -w 120 %h %p | ProxyCommand ssh -l root -i ~/.ssh/id_rsa_daxie -2 -4 fwa nc -w 120 %h |
</file> | </file> |
| |
* **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** | * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]** |
| |
~~DISCUSSION~~ | |