ssh

Login auf einem entfernten Rechner

ssh -l name rechner oder  ssh name@rechner
ssh -X user@rechner mit X-Oberfläche einloggen
ssh -XC user@rechner mit X-Oberfläche und Kompression einloggen
ssh user@rechner -X programm startet ein Programm auf dem entfernten Rechner und leitet die X-Ausgabe auf den lokalen Rechner um.

Wenn der gespeicherte Fingerabdruck des anzumeldenden Rechners nicht mehr stimmt (neue Hardware oder Neuinstallation) muss die Datei known_hosts bearbeitet werden und der betreffende Rechner gelöscht werden.

OpenSSH konfigurieren

Zur Konfiguration von openssh gibt es folgende Dateien:

  • /home/user/.ssh/config
    Konfigurationsdatei des ssh-Clients für den entsprechenden User.
  • /etc/ssh/ssh_config
    Konfigurationsdatei des ssh-Clients für alle User.
  • /etc/ssh/sshd_config
    globale Konfigurationsdatei des ssh-Servers

Server-Konfiguration

  1. Konfiguration anpassen (Beispiel s. u.): sudo vim /etc/ssh/sshd_config
  2. SSH neu starten: sudo /etc/init.d/ssh restart
  3. öffentlicher Teil des User-Keyfile (siehe Client einrichten) hinzufügen: 
    cat id_dsa.pub >> ~/.ssh/authorized_keys
  4. Rechte beachten (siehe chmod):
    Die Datei „authorized_keys“ muss die Dateirechte 600 haben
    Das Home-Verzeichnis des Users muss die rechte 700 haben

Client-Konfiguration

  1. Konfiguration anpassen (Beispiel s. u.):
    sudo vim /etc/ssh/ssh_config
    vim /home/user/.ssh/config
  2. Keypaar (id_rsa und id_rsa.pub) generieren:
    ssh-keygen -b 2048 -t rsa
  3. öffentlichen Key id_rsa.pub auf den Server kopieren und dort der authorized_keys hinzufügen (s.o.)

Achtung: Der Login über Publickey ist nur möglich, wenn das Home-Verzeichnis des Users die Rechte 700 hat!

Konfigurationsdateien:

/home/user/.ssh/config

# Bezeichnung des Zielrechners
Host Zielrechner
  # Zielrechner
  Hostname 192.168.1.50
  # Username auf Zielrechner
  User petri
  # immer eine X11-Verbindung aufbauen
  ForwardX11 yes
  # Kompression aktivieren
  Compression yes
  # Port für Verbindung
  Port 22

/etc/ssh/ssh_config

# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
# ForwardAgent no
# ForwardX11 no
# ForwardX11Trusted yes
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
# Protocol 2,1
# Cipher 3des
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
 SendEnv LANG LC_*
 HashKnownHosts yes
 GSSAPIAuthentication yes
 GSSAPIDelegateCredentials no

/etc/ssh/sshd_config

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Print Friendly, PDF & Email