ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

SSH-Server startet nicht

Status: Gelöst | Ubuntu-Version: Ubuntu 9.04 (Jaunty Jackalope)
Antworten |

goflow

Anmeldungsdatum:
5. Oktober 2009

Beiträge: Zähle...

Hallo zusammen,

ich habe ein Problem bei der Einrichtung eines Heimnetzwerks. Ich versuche mit SSH via einem Router von meinem Laptop auf meinen Desktop zuzugreifen. Leider habe ich bereits beim Starten des Servers Probleme. So wie ich's verstehe sollte eigentlich mit dem Download des openssh-server Pakets (und vielleicht einem Neustart) der SSH-Server laufen. netstat -tulpen gibt folgende Ausgabe:

tcp        0      0 xxx.x.x.x:xxx           0.0.0.0:*               LISTEN      0          7434        -               
tcp6       0      0 :::xxxx                 :::*                    LISTEN      1000       11194       3294/vino-server
tcp6       0      0 ::x:xxx                 :::*                    LISTEN      0          7433        -               
udp        0      0 0.0.0.0:xxxxx           0.0.0.0:*                           110        7361        -               
udp        0      0 0.0.0.0:xx              0.0.0.0:*                           0          12765       -               
udp        0      0 0.0.0.0:xxxx            0.0.0.0:*                           110        7360        -   

Ich denke dass der SSH-Server also noch gar nicht gestartet ist. Wenn ich ihn via ssh start nun starten möchte bekomme ich folgende Ausgabe

user@userbox:/etc/ssh$ ../../etc/init.d/ssh start
 * Starting OpenBSD Secure Shell server sshd                                                                                  
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key

RSA und DSA key habe ich vorhin mal mit ssh-keygen neu erstellt, hat aber leider auch nichts gebracht.

Vielleicht weiß von euch jemand Rat, hoffe ich habe genug Informationen gegeben, bin noch relativer Ubuntu-Newbie.

Vielen Dank und Grüße,

GoFlow

Lux Team-Icon

Avatar von Lux

Anmeldungsdatum:
10. November 2005

Beiträge: 5152

Wohnort: Grüt (Gossau ZH), Schweiz

goflow schrieb:

RSA und DSA key habe ich vorhin mal mit ssh-keygen neu erstellt, hat aber leider auch nichts gebracht.

Du musst den Server als root starten.

1
sudo /etc/init.d/ssh start

Gruss

Dirk

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Danke für die schnelle Antwort, Dirk. Ist mir schon ein paar mal passiert, dass ich irgendwas ausführen wollte, es erst mal nicht gefunzt hat und ich nach einiger Zeit gemerkt hab dass das sudo fehlt...

Hab's jetzt mit sudo gemacht, er gibt mir dann auch aus dass der SSH-Server gestartet wurde:

flo@flo-desktop:/$ sudo ../etc/init.d/ssh start
 * Starting OpenBSD Secure Shell server sshd                             [ OK ] 

Ein netstat -tulpen (mit sudo 😉 zeigt aber noch immer keinen SSH-Server an:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 xxx.0.0.x:xxx           0.0.0.0:*               LISTEN      0          30197       2754/cupsd      
tcp6       0      0 :::xxxx                 :::*                    LISTEN      1000       11211       3304/vino-server
tcp6       0      0 ::x:xxx                 :::*                    LISTEN      0          30196       2754/cupsd      
udp        0      0 0.0.0.0:xxxxx           0.0.0.0:*                           110        7342        2722/avahi-daemon: 
udp        0      0 0.0.0.0:xx              0.0.0.0:*                           0          12905       3389/dhclient   
udp        0      0 0.0.0.0:xxxx            0.0.0.0:*                           110        7341        2722/avahi-daemon: 

Oder hat der avahi-daemon was mit SSH zu tun?

Viele Grüße, goflow

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Hab's jetzt mit sudo gemacht, er gibt mir dann auch aus dass der SSH-Server gestartet wurde:

flo@flo-desktop:/$ sudo ../etc/init.d/ssh start
 * Starting OpenBSD Secure Shell server sshd                             [ OK ] 

Warum baust du denn immer relative Pfade

sudo ../etc/init.d/ssh start

/ ist das Wurzelverzeichnis, da drinnen steckt etc usw... du kannst also

sudo /etc/init.d/ssh start

ausführen, egal wo du in der Shell gerade steckst...

Ein netstat -tulpen (mit sudo 😉 zeigt aber noch immer keinen SSH-Server an:

Was sagt denn

ps aux | grep ssh

Oder hat der avahi-daemon was mit SSH zu tun?

Nein, siehe Avahi

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Danke für die noch schnellere Antwort, Chrissss ☺

ps aux | grep ssh

gibt folgende Ausgabe:

user       3157  0.0  0.0   4784   600 ?        Ss   09:01   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
user       5538  0.0  0.0   3344   796 pts/0    R+   10:08   0:00 grep ssh

Ist ssh-agent dabei der Client und der Server fehlt noch?

Viele Grüße,

GoFlow

Lux Team-Icon

Avatar von Lux

Anmeldungsdatum:
10. November 2005

Beiträge: 5152

Wohnort: Grüt (Gossau ZH), Schweiz

goflow schrieb:

Ist ssh-agent dabei der Client und der Server fehlt noch?

ssh-agent ist ein User-Prozess.

Ich sitze gerade nicht vor einem Ubuntu-Rechner, also im Blindflug:

Was zeigt:

1
2
sudo /etc/init.d/ssh start
sleep 10 ; sudo grep ssh /var/log/messages | tail -n 100

Gruss

Dirk

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Mit tail kommt keine Ausgabe, da scheint nichts mit ssh ins log-file geschrieben zu werden:

user@userbox:/$ sudo /etc/init.d/ssh start
[sudo] password for user: 
 * Starting OpenBSD Secure Shell server sshd                                                                                                  [ OK ] 
user@userbox:/$ sleep 10 ; sudo grep ssh /var/log/messages | tail -n 100
user@userbox:/$ 

Unter System → Einstellungen → Entfernter Desktop wird mir angezeigt dass mein Rechner im lokalen Netzwerk erreichbar ist :

Ihr Desktop ist nur über das lokale Netzwerk erreichbar. Auf Ihren Rechner kann über die Adresse 192.168.0.101 , user-desktop.local zugegriffen werden.

Viele Grüße,

GoFlow

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Ne, sshd läuft da in der Tat sich. Öffne bitte ein Terminal und gib

tail -f -n 0 /var/log/auth.log

ein. Dort wird erstmal nichts ausgegeben. Starte dann ein weiteres Terminal und starte den sshd

sudo /etc/init.d/ssh restart

neu. Was wird im "tail"-Terminal angezeigt?

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Da kommt dann endlich mal eine Fehlermeldung 😉

flo@flo-desktop:/$ tail -f -n 0 /var/log/auth.log
Oct  6 10:57:34 user-desktop sudo:      user : TTY=pts/1 ; PWD=/home/flo ; USER=root ; COMMAND=/etc/init.d/ssh restart
Oct  6 10:57:34 user-desktop sshd[6840]: error: Bind to port 22 on 192.168.0.1 failed: Cannot assign requested address.
Oct  6 10:57:34 user-desktop sshd[6840]: fatal: Cannot bind any address.

Stimmt da was mit dem Router nicht? Hab einen D-Link DIR-300. Im Router-Setup sind Desktop und Laptop an Port 22 eingetragen. Die IP's haben sich letztens mal um eins verschoben, Laptop von ...0.101 auf .100 und Desktop von .102 auf .101, falls das was sagt.

Nach kurzer Zeit kam bei tail auth.log noch was, ist das mein Zugriff auf den Router?

Oct  6 11:00:01 user-desktop CRON[6846]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct  6 11:00:01 user-desktop dbus-daemon: Rejected send message, 1 matched rules; type="method_call", sender=":1.31" (uid=1000 pid=3342 comm="/usr/lib/indicator-applet/indicator-applet --oaf-a") interface="org.freedesktop.DBus.Properties" member="Get" error name="(unset)" requested_reply=0 destination=":1.57" (uid=0 pid=6846 comm="/USR/SBIN/CRON "))
Oct  6 11:00:01 user-desktop CRON[6847]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct  6 11:00:01 user-desktop dbus-daemon: Rejected send message, 1 matched rules; type="method_call", sender=":1.31" (uid=1000 pid=3342 comm="/usr/lib/indicator-applet/indicator-applet --oaf-a") interface="org.freedesktop.DBus.Properties" member="Get" error name="(unset)" requested_reply=0 destination=":1.58" (uid=0 pid=6847 comm="/USR/SBIN/CRON "))
Oct  6 11:00:01 user-desktop CRON[6846]: pam_unix(cron:session): session closed for user root
Oct  6 11:00:01 user-desktop CRON[6847]: pam_unix(cron:session): session closed for user root

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

goflow schrieb:

Stimmt da was mit dem Router nicht? Hab einen D-Link DIR-300. Im Router-Setup sind Desktop und Laptop an Port 22 eingetragen. Die IP's haben sich letztens mal um eins verschoben, Laptop von ...0.101 auf .100 und Desktop von .102 auf .101, falls das was sagt.

Nein, das ist egal. Erstmal gehts nur um den Rechner

Nach kurzer Zeit kam bei tail auth.log noch was, ist das mein Zugriff auf den Router?

Nicht nur sshd schreibt seine Logs in die /var/log/auth.log 😉

Also warum klappt der Start nicht. Zeig bitte mal die Ausgaben von

ifconfig
cat /etc/network/interfaces
cat /etc/hosts
cat /etc/hostname

her.

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

ifconfig:

user@userbox:~$ ifconfig
eth0      Link encap:Ethernet  Hardware Adresse xx:xx:xx:xx:xx:xx  
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:252 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  Hardware Adresse xx:xx:xx:xx:xx:xx  
          inet Adresse:192.168.0.101  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6-Adresse: xxxx::xxx:xxxx:feed:xxxx/xx Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:120744 errors:0 dropped:0 overruns:0 frame:0
          TX packets:116104 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:146062735 (146.0 MB)  TX bytes:19001196 (19.0 MB)

wmaster0  Link encap:UNSPEC  Hardware Adresse xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

cat /etc/network/interfaces:

user@userbox:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

cat /etc/hosts:

user@userbox:~$ cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	userbox

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

cat /etc/hostname:

user@userbox:~$ cat /etc/hostname 
userbox

Habe ein paar Adressen unleserlich gemacht, hoffentlich keine die irgendwas ausgesagt hätten. Außerdem hab ich meinen Usernamen durch "user" ersetzt und den Rechnernamen durch "userbox". Wie gesagt, bin Ubuntu-Newbie, hoffe ihr habt Verständnis für meine Paranoia 😉

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Warum gibt

flo@flo-desktop:/$ tail -f -n 0 /var/log/auth.log
Oct  6 10:57:34 user-desktop sudo:      user : TTY=pts/1 ; PWD=/home/flo ; USER=root ; COMMAND=/etc/init.d/ssh restart
Oct  6 10:57:34 user-desktop sshd[6840]: error: Bind to port 22 on 192.168.0.1 failed: Cannot assign requested address.
Oct  6 10:57:34 user-desktop sshd[6840]: fatal: Cannot bind any address.

aus, wenn dein Rechner die IP 192.168.0.101 hat? Hast du die /etc/ssh/sshd_config bearbeitet?

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Coooool, endlich, das war der Fehler, vielen Dank Chris, und natürlich auch dir, Dirk.

Hatte in der sshd_config was geändert. Hab mal die alte als .bak gespeichert, openssh-server entfernt und neu installiert. Hier ein diff der alten und der neuen sshd_config:

user@userbox:~$ diff /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
8c8
< #ListenAddress 0.0.0.0
---
> ListenAddress 192.168.0.1
50c50
< #PasswordAuthentication yes
---
> PasswordAuthentication yes

Wird wohl der erste Unterschied sein, die ListenAddress.

Jetzt läuft's endlich. Vielen Dank euch beiden noch mal!

Viele Grüße, GoFlow

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

goflow schrieb:

Wird wohl der erste Unterschied sein, die ListenAddress.

Du müsstest da schon die IP eintragen, die dein SSH-Server auch hat. Du sagst aber, dass dein Rechner hinter einem Router steckt. D.h. so lange du nicht Port 22 vom Router auf den Server durchreichst, so lange kann der SSH-Server auch nicht aus dem Internet angesprochen werden. Ergo, die Klimmzüge sind gar nicht nötig.

goflow

(Themenstarter)

Anmeldungsdatum:
5. Oktober 2009

Beiträge: 14

Was meinst du mit Port 22 auf den Server durchreichen? Ich hab im Setup des Routers, unter "Erweiterte Regeln für Portweiterleitung" sowohl den Desktop als auch den Laptop eingetragen. Das sieht in etwa so aus:

> Name: SSH                   Öffentlicher Port: 22~22          Datenverkehrstyp: Beliebig
> IP-Adresse: 192.168.0.101   Privater Port: 22                 Datenverkehrstyp: Beliebig

Und das gleiche dann für den Laptop. Brauch ich diese Einträge nicht, oder sind sie gar gefährlich?

Viele Grüße,

GoFlow

Antworten |