Eine Einführung - Teil 11
Deutsche Angestellten Akademie
Secure System Administration (Sichere Systemverwaltung) zur Absicherung der Fernverwaltung von Servern. Secure Application Tunneling (Sicheres Tunneln) zum transparenten Schutz TCP/IP-basierender Anwendungen als „End-to-End-Security“.
Secure Remote Command Execution (Sichere Ausführung von Kommandos) zur Ausführung einzelner Kommandos auf einem anderen Rechner. Dabei werden stdin, stdout und stderr transparent weitergeleitet. Sonderfall davon:
Secure Subsystem Execution (Sichere Ausführung von Subsystemen) zur Ausführung von auf dem Server vordefinierter Kommandos, wobei stderr jedoch nicht weitergeleitet wird. Beispiel: Secure File Transfer (Sicherer Dateitransfer) zur Herstellung sicherer, automatisierter und interaktiver Dateitransfers.
				/etc/ssh/ssh_config ~$ ssh [ -p port ] [user@]host~$ ssh -p 1234 root@omikron.net~$ ssh ::1ssh-keygen -b 4096scp neuer-super-key.pub user@server.dessh user@server.de$ mkdir ~/.ssh
$ cat ~/neuer-super-key.pub  >> ~/.ssh/authorized_keys
$ rm ~/neuer-super-key.pub 
$ chmod 600 ~/.ssh/authorized_keysOder mit ssh-copy-id
| SSH Key | ersetzt Passwort | 
| authorized keys | öffentliche Schlüssel die Zugriff erlauben ( Analogie: Schloß, das vom zugehörigen privaten Schl. geöffnet werden kann.) | 
| identity key | Privater Schlüssel, den SSH verwendet um den client zu authentisieren | 
| host key | öffentlicher SSH-Schlüssel des Servers | 
| Session Key | wird von den Kommunikations Partner ausgehandelt; verschlüsselt Daten während Übertragung | 
Host gitlab.com
	HostName gitlab.com
	PreferredAuthentications=publickey
	#PreferredAuthentications=password
	IdentityFile ~/.ssh/gitlab-com
	IdentitiesOnly yes
	User git 
Host *
	user root
ServerAliveInterval 120
ServerAliveCountMax 15
					
				~$ ssh root@server 'cd /etc; \ 
tar czvf - network/' | cat > etc_network_backup.tar.gz 
						~$ scp -r root@server:/etc/apache2 . 
						~$ scp omikron-net.conf \ 
root@server:/etc/apache2/sites-available/ . 
						~$ rsync -e ssh lk.schubertdaniel.de:/home/dany/backups/* \ 
/local/backup/dir/ >> backup.log 2>&1
						
				Hinweise:
rsync mit spezifischem key: 
							/usr/bin/rsync -e 'ssh -i /home/$USERNAME/.ssh/key-ohne-pw' 
							# Datei ~/.ssh/authorized_keys
# führt bei Anmeldung ls aus; lässt keine anderen Kommandos zu
command="/bin/ls -la ~" ssh-rsa AAAAB3.......
# oder
command="/bin/echo You invoked: $SSH_ORIGINAL_COMMAND" ssh-rsa AAAAB..
					Um rsync zu verwenden ist ein wrapper script nötig:
# Datei ~/.ssh/authorized_keys
command="/absoluter/pfad/rsync-check.sh" ssh-rsa AAAAB3.......
						#!/bin/bash 
#
# rsync-check.sh
set -- $SSH_ORIGINAL_COMMAND
cmd="$1"; shift
case "$cmd" in
  scp|rsync) exec "$cmd" "$@" ;;
          *) echo "ERROR: request not permitted" ;;
esac