[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Zugriff auf den Rechner von außen



On Wednesday 19 March 2014 18:29:13 Volker Wysk wrote:
> Am Mittwoch, 19. März 2014, 17:48:23 schrieb Jens Schüßler:

> > Lauschte dein sshd überhaupt auf einem anderen Interface als
> > localhost?
> Es sieht so aus. In den Konfigurationsdateien in /etc/ssh sind keine
> Hosts aufgeführt.
> 
> > > ~ % ssh 85.179.114.16
> > > ssh_exchange_identification: Connection closed by remote host
> > > 
> > > ~ % ssh 85.179.114.16 -p22
> > > ssh_exchange_identification: Connection closed by remote host
> > 
> > ssh -v benutzen, dann siehts du mehr, mit -vv noch mehr.
> 
> Da kommt:
> 
> ~ % ssh -v 85.179.114.16
> OpenSSH_6.5, OpenSSL 1.0.1f 6 Jan 2014
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug1: /etc/ssh/ssh_config line 19: Applying options for *
> debug1: Connecting to 85.179.114.16 [85.179.114.16] port 22.
> debug1: Connection established.
> debug1: permanently_set_uid: 0/0
> debug1: identity file /root/.ssh/id_rsa type -1
> debug1: identity file /root/.ssh/id_rsa-cert type -1
> debug1: identity file /root/.ssh/id_dsa type -1
> debug1: identity file /root/.ssh/id_dsa-cert type -1
> debug1: identity file /root/.ssh/id_ecdsa type -1
> debug1: identity file /root/.ssh/id_ecdsa-cert type -1
> debug1: identity file /root/.ssh/id_ed25519 type -1
> debug1: identity file /root/.ssh/id_ed25519-cert type -1
> debug1: Enabling compatibility mode for protocol 2.0
> debug1: Local version string SSH-2.0-OpenSSH_6.5p1 Debian-6
> ssh_exchange_identification: Connection closed by remote host
> 
> Interessant sind die zwei Zeilen:
> 
> debug1: Connecting to 85.179.114.16 [85.179.114.16] port 22.
> debug1: Connection established.
> 
> Das sieht so aus, als ob die Verbindug zum SSH-Server erst
> hergestellt, doch der verweigert dann das Einloggen. Richtig?

Du willst dich als root auf dem Server anmelden? Wirklich? Das geht nur, 
wenn es auch erlaubt ist, siehe in /etc/ssh/sshd_config PermitRootLogin 
und man sshd_config.

Wenn du wirklich root-Zugang benötigst, dann solltest du einschränken, 
was root über ssh darf. Ich bin hier selbst erst vor 4 Wochen auf ssh 
forced commands aufmerksam gemacht worden. Siehe man authorized_keys, 
darin suchen nach "command=". Mit diesem Mechanismus kannst du 
erzwingen, dass bei einem SSH-Login per Key nur ein vordefiniert Befehl 
ausgeführt wird. Der eigentlich gewünschte Befehl wird aber in einer 
Umgebungsvariablen durchgereicht. Viele Prüfmöglichkeiten hat man auf 
diese Weise nicht, aber immerhin kann man den Befehl gegen einen 
Regulären Ausdruck testen.

Bei mir sieht das etwa so aus:

# /root/.ssh/authorized_keys
command="/usr/local/lib/backup/backup_rsync" ssh-rsa ... 
michael@schuerig.de

# /usr/local/lib/backup/backup_rsync
#! /bin/sh
if echo $SSH_ORIGINAL_COMMAND | head -1 \
    | grep -qs '^rsync --server .* \. /backup$' ; then
  $SSH_ORIGINAL_COMMAND
else
  /usr/bin/logger -t backup -p user.err -s \
    "Illegal command: $SSH_ORIGINAL_COMMAND"
  exit 1
fi


Je nach Dateisystem (btrfs, lvm) kannst du diesen Mechanismus auch dazu 
nutzen, vor/nach dem eigentlichen Befehl Snapshots deiner Daten 
anzulegen.

Michael

-- 
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/


Reply to: